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


Ответы:


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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.