Git
Git tag
최-코드
2024. 8. 12. 17:49
tag
- 깃 커밋 히스토리에 존재하는 특정 커밋을 가리키며, 일부러 바꾸지 않는 이상 항상 같은 지점을 가리킨다. 보통 배포 버전을 가리킬 때 사용한다.
- 특정 태그로 이동하려면 git checkout <tag> 명령어를 이용해야 한다. 결국 tag가 가리키는 것이 커밋이기 때문이다.
- git diff <tag>..<tag>을 통해 태그가 가리키는 커밋끼리 변경 사항을 비교할 수 있다.
- 태그이름은 고유해야 한다.
git tag
- 아무 옵션을 안 주고 뒤에 <tagname>을 주면 head가 가리키는 곳에 해당 이름으로 태그가 생성된다.
- -l 옵션을 주면 저장소에 존재하는 태그의 리스트 목록을 조회해준다. 이때 뒤에 "a"와 같이 필터를 주면 태그가 a인 태그를 모두 출력해준다. sql에서 처럼 *를 통한 표현식을 사용할 수 있다.
- -a 옵션을 주고 <tagname>을 붙이면 주석 태그가 생성된다. 이때 -m 옵션을 주어서 태그 메세지를 적어주면 된다. 태그 메세지는 git tag -l로 안 보이므로 만약 태그 메세지를 보려면 git show <tagname> 명령어를 사용하면 된다.
- git tag <tagname> <commit-hash>를 통해 이전 커밋에 대해 태그를 붙일 수 있다.
- git tag -f <tagname> <commit-hash>를 통해 태그의 위치를 옮길 수 있다.
- git tag -d <tagname>을 통해 태그를 삭제할 수 있다.
주의 사항) 태그는 커밋을 푸쉬한다고 해도 함께 푸쉬되지 않는다.
- 모든 태그를 원격 저장소에 푸쉬하는 방법은 git push <원격저장소별칭> --tags이다.
- 특정 태그만 푸쉬하는 방법은 git push <원격저장소별칭> <tagname>이다.