git tag 삭제

Chat GPT 4o Response

1. git tag -d v1.7.13

의미: 로컬 Git 저장소에서 v1.7.13 태그를 삭제합니다.

Git에서 태그(tag)는 특정 커밋을 가리키는 참조(reference)입니다. 주로 릴리스 버전 등을 표시하기 위해 사용됩니다. 하지만 때때로 잘못된 커밋에 태그를 붙이거나, 다시 작성해야 할 상황이 발생할 수 있습니다.

이 명령어는 단순히 로컬 저장소 안에서 존재하는 v1.7.13이라는 태그를 삭제합니다.
즉, git tag 명령어로 확인했을 때 더 이상 v1.7.13이 보이지 않게 됩니다.

$ git tag -d v1.7.13
Deleted tag 'v1.7.13' (was abc1234)

💡 참고: 이 명령은 로컬에서만 태그를 삭제합니다. 원격 저장소에는 영향이 없습니다.


2. git push origin :v1.7.13

의미: 원격 저장소(origin)에서 v1.7.13 태그를 삭제합니다.

이 명령어는 Git의 refspec 문법을 이용한 것으로, :<tagname> 형식을 사용하면 삭제(push 삭제) 요청으로 해석됩니다.

$ git push origin :v1.7.13
To https://github.com/your-repo.git
 - [deleted]         v1.7.13

실제로는 git push origin --delete tag v1.7.13와 같은 의미이며, 이 명령을 실행하면 GitHub나 GitLab 등 원격 저장소에서도 해당 태그가 삭제됩니다.


💡 실무에서 사용하는 예시

예를 들어 v1.7.13이라는 릴리스 태그를 잘못된 커밋에 붙였다면, 다음과 같은 절차로 수정합니다:

  1. 잘못된 태그 삭제

    git tag -d v1.7.13
    git push origin :v1.7.13
    
  2. 올바른 커밋에 태그 재지정

    git tag v1.7.13 <정확한 커밋 해시>
    git push origin v1.7.13
    

이처럼 태그를 삭제하고 다시 푸시하는 것은 잘못된 릴리스를 정정하거나, 배포 태그를 재지정할 때 흔히 쓰이는 방법입니다.


정리

명령어 설명
git tag -d v1.7.13 로컬 Git 저장소에서 태그 삭제
git push origin :v1.7.13 원격(origin) 저장소에서 태그 삭제