Wie entferne ich alle Git-Ursprünge und lokalen Tags?


99

Wie entferne ich ein Git-Tag, das bereits verschoben wurde? Löschen Sie alle git remote (origin) Tags und löschen Sie alle git local Tags.

Antworten:


243

1. Löschen Sie alle lokalen Tags. (Optional empfohlen)

git tag -d $(git tag -l)

2. Remote-Tags abrufen Alle Tags. (Optional empfohlen)

git fetch

3. Löschen Sie alle Remote-Tags.

git push origin --delete $(git tag -l) # Pushing once should be faster than multiple times

4. Löschen Sie alle lokalen Tags.

git tag -d $(git tag -l)

1
Wenn Sie die Fehlermeldung "Argumentliste zu lang" erhalten haben, die Sie wahrscheinlich würden, wenn Sie versuchen, Tags zu löschen. Verwenden Siegit tag -d $(git tag -l | head 100)
rocketspacer

1
Was ist der Unterschied zwischen Option 1 und 4? Sie sind beide git tag -d $(git tag -l).
Michael Ozeryansky

2
1) löscht alle Ihre lokalen Tags 2) ruft alle Remote-Tags ab und gibt Ihnen eine vollständige Liste der Remote-Tags lokal 3) löscht die Remote-Tags unter Bezugnahme auf die lokale Liste 4) löscht die lokalen Tags aus Schritt 2
seit dem

1
Ich denke am 3. sollte es seingit push --delete origin $(git tag -l)
npocmaka

2
git tag -d $(git tag -l)scheitert an Git 2.23 miterror: switch `l' is incompatible with --delete
Turbanoff

6

Für Windows mit Eingabeaufforderung:

Lokale Tags löschen:

for /f "tokens=* delims=" %a in ('git tag -l') do git tag -d %a

Remote-Tags löschen:

for /f "tokens=* delims=" %a in ('git tag -l') do git push --delete origin %a

2
Bei Verwendung von PS:git tag -l | %{git tag -d $_}
Pent Ploompuu

1
Für lokale Tags: git tag -l | xargs git tag -d
LongTP5

1
@ LongTP5 - xargsist kein nativer Windows-Befehl und sollte zusätzlich installiert werden.
Npocmaka
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.