Як видалити всі git origin та локальні теги?


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

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.