2009-04-24 37 views
15

Tôi đã thực hiện thành công, cam kết và đẩy các thay đổi vào kho lưu trữ git trung tâm. Bây giờ tôi nhận ra rằng tôi muốn gắn thẻ phiên bản hiện tại của tất cả các tệp. Vì vậy, tôi làm:Tôi làm cách nào để cam kết thẻ git?

git tag -a 0.5 

Điều đó thành công. Nhưng bây giờ tôi thử một số git push và tôi được bảo là không có gì để cam kết. Làm cách nào để đẩy thẻ mới của tôi vào kho lưu trữ trung tâm?

(Lưu ý rằng git tag lãm tag 0,5, nhưng chỉ tại địa phương)

+0

Có thể trùng lặp [Làm thẻ git cũng được đẩy?] (Http://stackoverflow.com/questions/2988088/do-git-tags-get-pushed-as-well) –

Trả lời

25

Tôi nghĩ rằng bạn muốn

git push --tags 

như rằng, tốt, đẩy tất cả các thẻ của bạn :)

Có một số lựa chọn thay thế tất nhiên, đây là git và tất cả (thay thế nguồn gốc với repo của bạn lựa chọn):

git push origin tag 0.5 

hoặc

git push origin refs/tags/0.5:refs/tags/0.5 

Xem git-push(1) để biết thêm chi tiết. "git ready" cũng có một số thông tin hữu ích trong bài viết tagging của chúng.

+0

Yeap! Đó là chính xác nó, cảm ơn. – ChrisInEdmonton

+1

** Phụ lục: ** nếu bạn tạo các cam kết mới trên nhánh của bạn, và sau đó nhấn (để có thứ gì đó để chuyển), git sẽ phát hiện tất cả các thẻ mới trỏ đến các cam kết hiện diện sau khi nhấn ở phía xa và đẩy chúng quá. –

+2

Cấu hình mặc định git repos không đẩy các thẻ xảy ra trên các cam kết. Thẻ chỉ được đẩy nếu được đặt tên rõ ràng hoặc --tags được sử dụng. –

3

Kể từ git 1.8.3 (April 22d, 2013), hãy thử một:

git push --follow-tags 

Khi bạn đẩy cam kết mới, bất kỳ thẻ tham chiếu bởi những cam kết sẽ được đẩy là tốt.
Trong trường hợp của bạn, bất kỳ thẻ nào được tham chiếu bởi cam kết cũng đã được đẩy cũng sẽ bị đẩy.

Điều đó cho phép bạn luôn sử dụng một lệnh khi đẩy các thẻ cam kết .

+0

Cảm ơn bạn rất nhiều vì đã cung cấp thêm thông tin cho một câu hỏi khá cũ. Chắc chắn giá trị +1 của tôi. – ChrisInEdmonton

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