Как удалить все теги git origin и local?

94

Как удалить тег git, который уже был отправлен? Удалите все теги git remote (origin) и удалите все локальные теги git.

Амир Хоссейнзаде
источник

Ответы:

235

1. Удалите все локальные теги. (Рекомендуется дополнительно)

git tag -d $(git tag -l)

2. Получить удаленно Все теги. (Рекомендуется дополнительно)

git fetch

3. Удалите все удаленные теги.

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

4. Удалите все локальные теги.

git tag -d $(git tag -l)
Амир Хоссейнзаде
источник
1
Если вы получили сообщение об ошибке «слишком длинный список аргументов», что вы, вероятно, получите, если пытаетесь очистить теги. Используйтеgit tag -d $(git tag -l | head 100)
rocketspacer 05
1
В чем разница между вариантом 1 и 4? Они оба git tag -d $(git tag -l).
Михаил Озерянский
2
1) удаляет все ваши локальные теги 2) извлекает все удаленные теги, предоставляя вам полный список удаленных тегов локально 3) удаляет удаленные теги со ссылкой на локальный список 4) удаляет локальные теги с шага 2
сообщение
1
Думаю, на 3. так и должно бытьgit push --delete origin $(git tag -l)
npocmaka
2
git tag -d $(git tag -l)не работает на git 2.23 с помощьюerror: switch `l' is incompatible with --delete
turbanoff
6

Для Windows с использованием командной строки:

Удаление локальных тегов:

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

Удаление удаленных тегов:

for /f "tokens=* delims=" %a in ('git tag -l') do git push --delete origin %a
нпочмака
источник
2
При использовании PS:git tag -l | %{git tag -d $_}
Pent Ploompuu
1
Для локальных тегов: git tag -l | xargs git tag -d
LongTP5
1
@ LongTP5 - xargsэто не собственная команда Windows, и ее следует устанавливать дополнительно.
npocmaka