Uzak etiket nasıl silinir?

Önceden gönderilmiş bir Git etiketini nasıl silersiniz?

Çözüm

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

Arka plan

Uzak bir depoya bir dal, etiket veya başka bir ref göndermek "hangi depo, hangi kaynak, hangi hedef? &quot 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.

Yorumlar (9)

Daha basit bir yol ise

git push --delete origin YOUR_TAG_NAME

IMO iki nokta üst üste sözdizimi bu durumda biraz gariptir

Yorumlar (5)

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.

Yorumlar (5)