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
이라는 릴리스 태그를 잘못된 커밋에 붙였다면, 다음과 같은 절차로 수정합니다:
-
잘못된 태그 삭제
git tag -d v1.7.13 git push origin :v1.7.13
-
올바른 커밋에 태그 재지정
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) 저장소에서 태그 삭제 |