Varsayılan git remote configuration'da etiketleri açıkça itmeniz gerekir ( işaret ettikleri taahhütlerle birlikte otomatik olarak getirilirken ). Kullanmalısın
$ git push <remote> tag <tagname>
tek bir etiketi itmek veya
$ git push <remote> --tags
tüm etiketleri itmek (veya git push --tags
varsayılan uzaktan kumandayı kullanmak için origin
).
Bu, etiketleri itmeyi açık hale getirmek için çok amaçlanan bir davranıştır. Etiketleri itmek genellikle bilinçli bir seçim olmalıdır.
Junio C. Hamano'nun yazdıklarını özetleme (@Andre Miras tarafından yapılan yorumlara bağlı)
Getirirken, birinin yayınladığı uzak bir havuzla etkileşime giriyorsunuz, yani:
- mevcut olan bir dizi etiket, yayıncının insanların görmesini istediği tüm ve
- sadece siz değil, diğer kullanıcılar da aynı etiketleri görecek.
Başka bir deyişle, getirdiğiniz depolardaki etiketler herkese açık ve paylaşılan olacak şekilde tasarlanmıştır. Herkesin aynı etiketleri alması kolaysa geliştiriciler arasındaki iletişimi kolaylaştıracaktır.
Bu nedenle git fetch
etiketleri otomatik olarak "takip eder", yani işaret ettikleri düzeltmeleri indirirken etiketleri indirir - diğer bir deyişle, alakalı tüm yayınlanmış etiketleri indirir .
İçe iterken, çoğu zaman herkese açık olmayan çalışma havuzunuzdan itiyorsunuzdur ve bu havuzdaki etiketler herkese açık olarak tasarlanmamıştır. İlerlemenizi işaretlemek için kendi yerel etiketlerinizi kullanabilirsiniz, bu nedenle etiketleri tanımınıza göre herkese açık olan, deponuzdaki tüm etiketleri, değişikliklerinizi yayınlamak için bastırdığınız depoya körü körüne itmek mantıklı değildir.
Bu nedenle etiketi herkese açık olarak işaretlemek için etiketi açıkça itmeniz gerekir.
Alternatif sen her zaman tüm etiketler, gözlerinde o gibi mesela koymak şey itmek için itme uzak yapılandırabilirsiniz .git/config
:
[uzak "yayınla"] # veya adı ne olursa olsun
url = ...
push = + refs / kafaları / *: refs / kafaları / *
push = + refs / tags / *: refs / tags / *
Bu, tüm kafaları (tüm dalları) ve tüm etiketleri zorla itmek anlamına gelir (kafaların zorla itilmesini istemiyorsanız, refspec'ten '+' önekini kaldırın).
git push --follow-tags
şimdi yararlı olabilir, aşağıdaki cevabımı gör