¿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.

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)

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

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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.