Cập nhật tháng 5 năm 2015
Kể từ git 2.4.1 , bạn có thể làm
git config --global push.followTags true
Nếu được đặt thành true, bật tùy chọn --follow-tags theo mặc định.
Bạn có thể ghi đè cấu hình này tại thời điểm đẩy bằng cách chỉ định --no-follow-tags.
Như đã lưu ý trong chủ đề này bởi Matt Rogers trả lời Wes Hurd :
--follow-tags chỉ đẩy các thẻ chú thích .
git tag -a -m "I'm an annotation" <tagname>
Điều đó sẽ được đẩy (trái ngược với git tag <tagname>, một thẻ nhẹ, sẽ không bị đẩy, như tôi đã đề cập ở đây )
Cập nhật tháng 4 năm 2013
Kể từ git 1.8.3 (ngày 22 tháng 4 năm 2013) , bạn không còn phải thực hiện 2 lệnh để đẩy các nhánh và sau đó để đẩy các thẻ :
--follow-tagsTùy chọn " " mới nói " git push" để đẩy các thẻ chú thích có liên quan khi đẩy các nhánh ra .
Bây giờ bạn có thể thử, khi đẩy các cam kết mới:
git push --follow-tags
Tuy nhiên, điều đó sẽ không đẩy tất cả các thẻ cục bộ, chỉ một thẻ được tham chiếu bởi các cam kết được đẩy bằng git push.
Git 2.4.1+ (quý 2 năm 2015) sẽ giới thiệu tùy chọn push.followTags: xem " Cách tạo ra những cuốn git pushsách có thể bao gồm các thẻ trong một nhánh? ".
Câu trả lời gốc, tháng 9 năm 2010
Tùy chọn hạt nhân sẽ là git push --mirror, sẽ đẩy tất cả các ref theo refs/.
Bạn cũng có thể đẩy chỉ một thẻ với cam kết chi nhánh hiện tại của mình:
git push origin : v1.0.0
Bạn có thể kết hợp --tagstùy chọn với một refspec như:
git push origin --tags :
(vì --tagscó nghĩa là: Tất cả các ref dưới refs/tagsđược đẩy, ngoài các refspec được liệt kê rõ ràng trên dòng lệnh )
Bạn cũng có mục này " Đẩy các nhánh và thẻ bằng một lệnh gọi " git đẩy "
Một mẹo hữu ích vừa được Zoltán Füzesi đăng lên danh sách gửi thư Git :
Tôi sử dụng .git/configđể giải quyết điều này:
[remote "origin"]
url = ...
fetch = +refs/heads/*:refs/remotes/origin/*
push = +refs/heads/*
push = +refs/tags/*
Với những dòng được thêm vào git push originsẽ tải lên tất cả các chi nhánh và thẻ của bạn. Nếu bạn chỉ muốn tải lên một số trong số họ, bạn có thể liệt kê chúng.
Chưa tự mình thử, nhưng có vẻ như nó có thể hữu ích cho đến khi một cách khác để đẩy các nhánh và thẻ cùng lúc được thêm vào git đẩy.
Mặt khác, tôi không ngại gõ:
$ git push && git push --tags
Coi chừng , như nhận xét của Aseem Kishore
push = +refs/heads/*sẽ đẩy tất cả các chi nhánh của bạn .
Điều này bit tôi chỉ bây giờ, vì vậy FYI.
René Scheibe thêm nhận xét thú vị này :
Các --follow-tagstham số được gây hiểu lầm chỉ khi thẻ dưới .git/refs/tagsđược xem xét.
Nếugit gc được chạy, các thẻ được chuyển từ .git/refs/tagssang .git/packed-refs. Sau đó git push --follow-tags ...không hoạt động như mong đợi nữa.
git push && git push --tagsgì?