Wie entferne ich ein Tag aus einem Remote-Repository?


73

Ist es möglich, eine Revision zu deaktivieren, die mit git vorgeschoben wurde?

Folgendes ist passiert:

 git tag 1.1
 git push --tags origin master

Doh! Das sollte Version 1.1beta sein

Können Sie den Upstream neu starten und neu starten? Kein anderes Mitglied meines Teams hat sich bisher vom Ursprung zurückgezogen.


Antworten:


113

Sie können ein Remote-Tag genauso löschen wie einen Remote-Zweig .

git push origin :1.1

Und löschen Sie Ihr lokales Tag mit:

git tag -d 1.1

1
Ich habe: git tag -d 1.1 && git push origin: 1.1 und das hat den Trick gemacht. Danke vielmals.
Derby

1
Denken Sie daran, dass ein Zweig ein Tag ist, nur einer, der seinen HEAD zusammen mit dem letzten dazugehörigen Commit verschiebt. Intern sind sie genau gleich.
Dan Ray

3
Eigentlich - ein leichtes Tag ist wie ein Zweig. Ein mit Anmerkungen versehenes Tag ist ein tatsächliches Objekt wie ein Commit, auf das ein Referenzpunkt verweist.
Abizern

Wenn ich ab Git-Version 2.7.4 versuche, das Tag nach dem Remote-Löschen lokal zu löschen, wird folgende Fehlermeldung angezeigt: Tag '0.0.60' nicht gefunden. Ich nehme an, es wird automatisch gelöscht
Shadi

Für den Fall, dass Sie viele , viele Tags löschen müssen , habe ich zwei Möglichkeiten gefunden, um dies mindestens einige Größenordnungen schneller zu tun. Am schnellsten ist es, mehrere :tagArgumente einzuschließen git push. Der zweite verwendet die Github-API, um Remote-Refs (Tags) direkt zu löschen. ( stackoverflow.com/a/43421561/657764 )
TonyH

17
git push --delete origin TAGNAME

Natürlich müssen Sie das Tag noch lokal löschen, indem Sie Folgendes ausführen:

git tag -d TAGNAME
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.