Como remover todas as tags locais e de origem do git?


100

Como você remove uma tag git que já foi enviada? Exclua todas as tags remotas do git (origem) e exclua todas as tags locais do git.

Respostas:


246

1. Exclua todas as tags locais. (Opcional Recomendado)

git tag -d $(git tag -l)

2. Obtenha todas as tags remotas. (Opcional Recomendado)

git fetch

3. Exclua todos os tags remotos.

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

4. Exclua todas as tags locais.

git tag -d $(git tag -l)

1
Se você recebeu a mensagem de erro "lista de argumentos muito longa", o que provavelmente aconteceria se estivesse tentando limpar as tags Usegit tag -d $(git tag -l | head 100)
rocketspacer

1
Qual é a diferença entre as opções 1 e 4? Eles são ambos git tag -d $(git tag -l).
Michael Ozeryansky

2
1) apaga todas as suas tags locais 2) recupera todas as tags remotas, dando a você uma lista completa de tags remotas localmente 3) exclui as tags remotas com referência à lista local 4) exclui as tags locais da etapa 2
sentece

1
Acho que em 3. deveria sergit push --delete origin $(git tag -l)
npocmaka

3
git tag -d $(git tag -l)falha no git 2.23 comerror: switch `l' is incompatible with --delete
turbanoff

6

Para janelas usando prompt de comando:

Excluindo tags locais:

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

Excluindo tags remotas:

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

2
Ao usar o PS:git tag -l | %{git tag -d $_}
Pent Ploompuu

1
Para tags locais: git tag -l | xargs git tag -d
LongTP5

1
@ LongTP5 - xargsnão é um comando nativo do Windows e deve ser instalado adicionalmente.
npocmaka
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.