2013-06-20 34 views
24

Khi lấy một chi nhánh duy nhất, git fetch bao gồm bất kỳ thẻ trỏ vào chi nhánh:Làm thế nào để làm cho "git push" bao gồm các thẻ trong một chi nhánh?

Khi cửa hàng refspec kết quả lấy tại các chi nhánh từ xa theo dõi, các thẻ trỏ tại các chi nhánh sẽ được tự động theo sau. được thực hiện bằng cách tìm nạp đầu tiên từ xa bằng cách sử dụng s, và nếu kho lưu trữ có các đối tượng được chỉ bằng các thẻ từ xa thì chưa có, sau đó tìm nạp các thẻ còn thiếu. Nếu đầu kia có các thẻ trỏ đến các nhánh bạn không quan tâm, bạn sẽ không được tải chúng.

Có cách nào để làm cho git push hoạt động theo cùng một cách không? Trang người đàn ông nói làm thế nào để đẩy không có thẻ (mặc định), tất cả các thẻ (--tags), hoặc những người bạn tên trên dòng lệnh. Nó không cung cấp một cách để đẩy tất cả những người chỉ vào chi nhánh.

Trả lời

37

Bạn có thể thử với git1.8.3+ (tháng 5 năm 2013):

git push --follow-tags 

mới "--follow-tags" tùy chọn cho "git push" đẩy thẻ chú thích liên quan khi đẩy chi nhánh ra.

Điều này sẽ không đẩy tất cả các thẻ, nhưng chỉ những thẻ có thể truy cập từ (các) HEAD chi nhánh bạn đang đẩy.

Như đã đề cập trong "Push a tag to a remote repository using Git?", điều này chỉ liên quan đến annotated tags, không phải thẻ trọng lượng nhẹ.

git tag 1.0 (trọng lượng nhẹ) sẽ không được đẩy với --follow-tags, với git push --tags.


Với Git 2.4.1+ (Q2 2015), tùy chọn đó có thể được đặt làm mặc định.

Xem commit a8bc269 bởi Dave Olszewski (cxreg):

làm cho nó dễ dàng hơn để thêm bit cấu hình mới và sau đó thêm push.followTags cấu hình có thể biến --follow-tags tùy chọn theo mặc định.

Các tài liệu sẽ bao gồm:

push.followTags:: 

Nếu thiết lập là true cho phép '--follow-tags' tùy chọn theo mặc định. Bạn có thể ghi đè lên cấu hình này tại thời điểm đẩy bằng cách xác định '--no-follow-tags'

Do kích hoạt thiết lập này trên toàn cầu, bạn có thể chạy git config --global push.followTags true. Nó cũng có thể được chỉ định trên mỗi cơ sở kho lưu trữ.

+0

Xem thêm http://stackoverflow.com/a/3745250/6309 – VonC

+0

Điều đó nghe giống như những gì tôi muốn, cảm ơn bạn! –

+2

không hoạt động đối với thẻ lightweith, chỉ dành cho thẻ được chú thích – netawater

Các vấn đề liên quan