¿Cómo eliminar todas las etiquetas de origen y locales de git?

94

¿Cómo se elimina una etiqueta de git que ya se ha enviado? Elimine todas las etiquetas de git remote (origen) y elimine todas las etiquetas de git locales.

Amir Hosseinzadeh
fuente

Respuestas:

235

1. Elimine todas las etiquetas locales. (Opcional recomendado)

git tag -d $(git tag -l)

2. Obtenga todas las etiquetas remotas. (Opcional recomendado)

git fetch

3. Elimine todas las etiquetas remotas.

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

4. Elimine todas las etiquetas locales.

git tag -d $(git tag -l)
Amir Hosseinzadeh
fuente
1
Si recibiste el mensaje de error "lista de argumentos demasiado larga", lo que probablemente harías si intentas borrar las etiquetas. Usagit tag -d $(git tag -l | head 100)
rocketspacer
1
¿Cuál es la diferencia entre la opción 1 y 4? Son ambos git tag -d $(git tag -l).
Michael Ozeryansky
2
1) borra todas sus etiquetas locales 2) recupera todas las etiquetas remotas y le brinda una lista completa de etiquetas remotas localmente 3) elimina las etiquetas remotas con referencia a la lista local 4) elimina las etiquetas locales del paso 2
sentencia
1
Creo que en 3. debería sergit push --delete origin $(git tag -l)
npocmaka
2
git tag -d $(git tag -l)falla en git 2,23 conerror: switch `l' is incompatible with --delete
turbanoff
6

Para Windows usando el símbolo del sistema:

Eliminando etiquetas locales:

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

Eliminar etiquetas remotas:

for /f "tokens=* delims=" %a in ('git tag -l') do git push --delete origin %a
npocmaka
fuente
2
Al usar PS:git tag -l | %{git tag -d $_}
Pent Ploompuu
1
Para etiquetas locales: git tag -l | xargs git tag -d
LongTP5
1
@ LongTP5: xargsno es un comando nativo de Windows y debe instalarse adicionalmente.
npocmaka