Önceden gönderilmiş bir Git etiketini nasıl silersiniz?
Uzak etiket adına bir 'empty' referansı göndermeniz yeterlidir:
git push origin :tagname
Ya da daha açık bir ifadeyle, --delete
seçeneğini (veya git sürümünüz 1.8.0'dan eskiyse -d
seçeneğini) kullanın:
git push --delete origin tagname
git'in etiket ad alanı ve dal ad alanı olduğunu unutmayın, bu nedenle bir dal ve bir etiket için aynı adı kullanabilirsiniz. Etiket yerine dalı yanlışlıkla kaldıramayacağınızdan emin olmak istiyorsanız, bir dalı asla silmeyecek olan tam ref belirtebilirsiniz:
git push origin :refs/tags/tagname
Yerel etiketi de silmeniz gerekiyorsa, şunu kullanın:
git tag --delete tagname
Uzak bir depoya bir dal, etiket veya başka bir ref göndermek "hangi depo, hangi kaynak, hangi hedef? " belirtmeyi içerir;
git push remote-repo source-ref:destination-ref
Ana dalınızı origin'in ana dalına ittiğiniz gerçek bir dünya örneği:
git push origin refs/heads/master:refs/heads/master
Bu da varsayılan yollar nedeniyle şu şekilde kısaltılabilir:
git push origin master:master
Etiketler de aynı şekilde çalışır:
git push origin refs/tags/release-1.0:refs/tags/release-1.0
Bu da kısaltılabilir:
git push origin release-1.0:release-1.0
Kaynak ref'i (iki nokta üst üste işaretinden önceki kısım) atlayarak, uzak uçtaki ref'i silerek hedefe 'hiçbir şey' gönderirsiniz.
Silmek için v0.1.0
uzak etiketiniz varsa ve uzak etiketiniz origin
ise, o zaman basitçe:
git push origin :refs/tags/v0.1.0
Etiketi yerel olarak da silmeniz gerekiyorsa:
git tag -d v0.1.0
Git'in silme işlemi için kullandığı alışılmadık :
sözdiziminin açıklaması için Adam Franco'nun yanıtına bakın.