Ana içeriğe geç

Git Tag

Türkçe karşılığı
etiket
Okunuşu
git teg

Günlük kullanımda çoğunlukla İngilizcesi tercih edilir.

Güncellendi 2 dk okuma

Bu sayfayı paylaşın

Bağlantıyı gönderin, tanımı bağlantısıyla birlikte alıntılayın ya da kendi sitenizde bir kart olarak gösterin.

https://softwaredictionary.org/tr/terimler/git-tag

Kısaca

Git tag, belirli bir commit'i gösteren adlandırılmış kalıcı bir işaretçidir; çoğunlukla deponun geçmişinde v1.0.0 gibi sürümleri işaretlemek için kullanılır.

Git tag nedir?

Git tag, tek bir commit'e iliştirilmiş, insan tarafından okunabilir bir etikettir. Her commit yaptığınızda ilerleyen branch'in aksine tag, biri onu bilerek silmedikçe ya da taşımadıkça aynı commit üzerinde kalır. Ekipler tag'leri esas olarak sürümleri işaretlemek için kullanır; böylece herkes v2.3.0 sürümü olarak hangi kodun yayımlandığını tam olarak bulabilir.

Git'te iki tür tag vardır. Lightweight (hafif) tag, bir yer imi gibi, yalnızca bir commit'i gösteren bir addır. git tag -a ile oluşturulan annotated (açıklamalı) tag ise etiketleyenin adını, bir tarihi, bir mesajı ve isteğe bağlı olarak kriptografik bir imzayı içeren tam bir Git nesnesi olarak saklanır; sürümler için annotated tag'lerin önerilmesinin nedeni budur. Tag'ler varsayılan olarak push edilmez; bunları git push origin v2.3.0 veya git push --tags ile açıkça göndermeniz gerekir.

Tag'i, bir kitabın revizyon geçmişine yapıştırılmış ve 'bastığımız baskı bu' yazan bir not gibi düşünün. Tag'ler genellikle v1.4.2 gibi semantic versioning'i izler ve CI/CD hatları çoğu zaman yeni tag'leri izleyerek bir sürümü otomatik olarak derleyip yayımlar. Kod barındırma platformları da tag'leri sürüm sayfalarının ve indirilebilir kaynak arşivlerinin temeli olarak kullanır.

En yaygın karışıklık tag ile branch arasındadır. Branch, süregelen iş için tasarlanmış hareketli bir işaretçidir; tag ise geçmişte bir anı kaydetmek için tasarlanmış sabit bir işaretçidir. Bir tag'i doğrudan checkout ederseniz Git sizi detached HEAD durumuna sokar; bu, bir branch oluşturmadığınız sürece yeni commit'lerin hiçbir branch'e ait olmayacağı anlamına gelir.

Önemli noktalar

  • Tag, tek bir commit'i gösteren sabit ve adlandırılmış bir işaretçidir.
  • Annotated tag'ler yazar, tarih ve mesaj saklar ve sürümler için önerilir.
  • Lightweight tag'ler, ek veri içermeyen basit ad-commit işaretçileridir.
  • Tag'ler açıkça push edilmelidir; düz bir git push onları göndermez.
  • Branch'lerin aksine tag'ler yeni commit'ler eklendiğinde hareket etmez.

Örnek

Git tag oluşturmak, push etmek ve silmekbash
# Create an annotated tag for a release on the current commit
git tag -a v1.2.0 -m "Release 1.2.0"

# List tags and show the details of one
git tag
git show v1.2.0

# Tags are not pushed automatically
git push origin v1.2.0

# Delete a tag locally and on the remote
git tag -d v1.2.0
git push origin --delete v1.2.0

Sık sorulan sorular

Git tag ile branch arasındaki fark nedir?

Branch, commit ekledikçe ilerleyen bir işaretçidir; tag ise kalıcı olarak tek bir commit'e bağlı kalır. Branch'ler süregelen iş içindir; tag'ler ise sürümler gibi sabit noktaları işaretler.

Annotated mı yoksa lightweight tag mi kullanmalıyım?

Sürümler ve paylaştığınız her şey için annotated tag kullanın; çünkü tag'i kimin, ne zaman ve neden oluşturduğunu kaydeder ve imzalanabilir. Lightweight tag'ler geçici, kişisel yer imleri için uygundur.

Tag'leri uzak depoya nasıl push ederim?

Tek bir tag'i git push origin <tagname> ile ya da tüm yerel tag'leri git push --tags ile push edin. Commit'leri, onları gösteren annotated tag'lerle birlikte göndermek için git push --follow-tags de kullanabilirsiniz.

İlgili sayfalar

Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin

Daha fazla

Ayarlar