모든 자식 원본 및 로컬 태그를 제거하는 방법은 무엇입니까?


94

이미 푸시 된 git 태그를 어떻게 제거합니까? 모든 git 원격 (원본) 태그를 삭제하고 모든 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)입니다.
Michael Ozeryansky 2019

2
1) 모든 로컬 태그를 지 웁니다. 2) 원격 태그의 전체 목록을 로컬로 제공하는 모든 원격 태그를 검색합니다. 3) 로컬 목록을 참조하여 원격 태그를 삭제합니다. 4) 2 단계에서 로컬 태그를 삭제합니다.
sentece

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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.