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.

serby
quelle
2
Mögliches Duplikat von Wie lösche ich ein Remote-Git-Tag?
BuZZ-dEE

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
Abizern
quelle
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
Flimm
quelle