2013-05-30 30 views
5

Hành vi mặc định của Git là không phải để đẩy thẻ từ một kho lưu trữ cục bộ đến một kho lưu trữ từ xa được liên kết. Trong this answer nó được giải thích làm thế nào để thay đổi hành vi này cho một kho lưu trữ duy nhất.Tại sao git không đẩy thẻ theo mặc định?

Câu hỏi của tôi, là lý do tại sao đây có phải là hành vi được thiết kế của Git không? Đặc biệt những khuyết điểm của việc thiết lập tự động đẩy thẻ là gì?

+1

'thẻ' là một ảnh chụp ** ** của kho lưu trữ. Tôi đoán là nó không nên được cập nhật khi push, trừ khi, bạn rõ ràng muốn nó được xuất bản. – yuwang

+0

cũng xem http://stackoverflow.com/a/2988182/654952 – yuwang

+0

@yuwang: Tôi đã liên kết với câu trả lời này. Có một nhận xét có đặt ra cùng một câu hỏi mà vẫn chưa được trả lời ... – Dror

Trả lời

5

Nếu bạn xem xét các thẻ của bất kỳ dự án lớn nào (kernel linux, git itself, ...), bạn sẽ thấy các thẻ trong hàng trăm.

A Phân phối VCS là tất cả về publication: bạn muốn đẩy gì?
Mọi thứ? Tất cả thời gian?

Đẩy tất cả thẻ có thể gây ô nhiễm không gian thẻ từ upstream repo.

Với hành vi hiện tại, bạn giữ quyền kiểm soát những gì bạn đang xuất bản lên repo ngược dòng để người khác xem.


Lưu ý rằng từ git 1.8.3 (tháng 4 năm 2013), git push --follow-tags có thể giúp bạn đẩy các cam kết và các thẻ được liên kết trong một lệnh.

Xem "Push git commits & tags simultaneously".

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