Frage Wie lösche ich ein entferntes Git-Tag?


Wie löschst du ein Git-Tag, das bereits verschoben wurde?


2123
2018-03-29 23:41


Ursprung


Antworten:


Sie müssen lediglich einen "leeren" Verweis auf den Namen des fernen Tags eingeben:

git push origin :tagname

Oder, expressiver, verwenden Sie die --delete Option (oder -d wenn deine git Version älter als 1.8.0 ist):

git push --delete origin tagname

Wenn Sie das lokale Tag auch löschen müssen, verwenden Sie Folgendes:

git tag --delete tagname

Hintergrund

Wenn Sie eine Verzweigung, ein Tag oder eine andere Referenz an ein Remote-Repository senden, müssen Sie angeben: "Wo drücken, welche Quelle, welches Ziel?".

git push where-to-push source-ref:destination-ref

Ein Beispiel aus der realen Welt, in dem Sie Ihren Master-Zweig zum Master-Zweig des Ursprungs verschieben, ist:

git push origin refs/heads/master:refs/heads/master

Was aufgrund von Standardpfaden verkürzt werden kann zu:

git push origin master:master

Tags funktionieren auf die gleiche Weise:

git push origin refs/tags/release-1.0:refs/tags/release-1.0

Das kann auch verkürzt werden zu:

git push origin release-1.0:release-1.0

Indem Sie den Quellenref (den Teil vor dem Doppelpunkt) weglassen, drücken Sie "nichts" zum Ziel und löschen den Verweis auf dem entfernten Ende.


3499
2018-03-29 23:45



Ein direkterer Weg ist

git push --delete origin YOUR_TAG_NAME

IMO Präfixing Colon-Syntax ist in dieser Situation ein wenig seltsam


243
2017-10-09 00:47



Wenn Sie ein Remote-Tag haben v0.1.0 zu löschen, und Ihre Fernbedienung ist origin, dann einfach:

git push origin :refs/tags/v0.1.0

Wenn Sie das Tag auch lokal löschen müssen:

git tag -d v0.1.0

Sehen Adam Franco's Antwort für eine Erklärung von Git ist ungewöhnlich : Syntax zum Löschen.


133
2017-07-21 16:14



Löschen Sie alle lokalen Tags und rufen Sie die Liste der Remotetags ab:

git tag -l | xargs git tag -d
git fetch

Entfernen Sie alle Remote-Tags

git tag -l | xargs -n 1 git push --delete origin

Bereinigen Sie lokale Tags

git tag -l | xargs git tag -d

72
2018-04-02 02:26



So entfernen Sie das Tag aus dem Remote-Repository:

git push --delete origin TAGNAME

Möglicherweise möchten Sie das Tag auch lokal löschen:

git tag -d TAGNAME

26
2017-09-04 10:30



Machen Sie das von Ihrem Terminal aus:

git fetch
git tags
git tag -d {tag-name}
git push origin :refs/tags/{tag-name}

Gehe jetzt zu Github.com und aktualisiere sie, sie verschwinden.


17
2018-06-27 13:23



Beachten Sie, dass diese Befehle zweideutig sind, wenn Sie eine Remote-Zweigstelle als Remote-Tag haben:

git push origin :tagname
git push --delete origin tagname

Daher müssen Sie diesen Befehl verwenden, um das Tag zu löschen:

git push origin :refs/tags/<tag>

und diesen, um den Zweig zu löschen:

git push origin :refs/heads/<branch>

Wenn nicht, erhalten Sie einen Fehler wie folgt:

error: dst refspec <tagname> matches more than one.
error: failed to push some refs to '<repo>'

12
2018-05-05 17:28



Wenn Sie ein Tag namens erstellt haben release01 In einem Git-Repository würden Sie es folgendermaßen aus Ihrem Repository entfernen:

git tag -d release01 
git push origin :refs/tags/release01 

Um einen aus einem Mercurial-Repository zu entfernen:

hg tag --remove featurefoo

Bitte verweisen https://confluence.atlassian.com/pages/viewpage.action?pageId=282175551


8
2017-11-11 05:54



Lokales Tag '12345' löschen

git tag -d 12345

Remote-Tag '12345' löschen (zB auch GitHub-Version)

git push origin :refs/tags/12345

alternativer Ansatz

git push --delete origin tagName
git tag -d tagName

enter image description here


5
2018-03-23 09:50