2013-05-30 23 views
5

Git'in varsayılan davranışı, yerel bir depodan ilişkilendirilmiş uzaktaki bir diğerine etiketleri itmek için numaralı değil. this answer'da, bu davranışı tek bir depo için nasıl değiştireceğiniz açıklanmaktadır.Neden git varsayılan olarak etiketleri zorlamıyor?

Sorum, bu Git tasarlanmış davranıştır neden nedir? Özellikle, etiketlerin otomatik olarak bastırılmasına karar vermek nedir?

+1

'tag', deponun ** anlık görüntüsüdür **. Tahminimce, yayınlanmayı açıkça istemediğiniz sürece, itme ile güncellenmemesi gerektiğidir. – yuwang

+0

ayrıca bkz. Http://stackoverflow.com/a/2988182/654952 – yuwang

+0

@yuwang: Bu cevaba zaten bağlandım. Yine de cevaplanmayan aynı soruyu cevaplayan bir yorum var ... – Dror

cevap

5

sen (... kernel linux, git itself) Eğer yüzlerce etiketleri görecekti herhangi bir büyük projenin etiketleri düşünün. Ne itmek istiyoruz:

A Dağıtılmış VCS yaklaşık publication hepsi bu?
Her şey? Her zaman?

Pushing tüm etiketleri upstream repo etiketlerini alanı kirletmektedir. Şu andaki davranışla ile

, başkalarının görmesi için size, memba repo yayın şeyin kontrol altında tutmak. Git 1.8.3 (Nisan 2013) beri, git push --follow-tags tek komuta kaydedilmesini ve bunların ilişkili etiketleri itmek yardımcı olabilir


Not.

Bkz "Push git commits & tags simultaneously".