승상의 코딩 블로그

[Git] git tag 활용방법 본문

Git(깃)

[Git] git tag 활용방법

양승상 2025. 6. 14. 21:31
반응형

git tag 는 코드를 안정적으로 운용하는데 유용한 명령어다.

특정 시점의 커밋으로 복구할 수 있는 기준점을 만들어준다.

기준점이 공유되므로 협업하기도 편하다. (ex. 특정 버전에 에러가 있습니다.)

 

태그는 Lightweight Tag 와 Annotated Tag 두 가지로 나뉜다.

 

Lightweight Tag 는 커밋을 가리키는 포인터(참조)만 저장한다. 그래서 개인적인 체크포인트 등으로 활용된다.

Annotated Tag 는 커밋뿐 아니라 작성자, 시간, 메시지 등도 함께 저장한다. 그래서 버전 릴리스 등으로 활용된다.

 

Lightweight Tag, Annotated Tag 비교.

일단, 두 태그의 차이점에 대해서 알아보자.

Lightweight Tag(v0.0.1), Annotated Tag(v1.0.0)

v0.0.1 을 Lightweight Tag 로 v1.0.0 은 Annotated Tag 로 설정했다고 하자.

Annotated Tag 의 메시지로는 "NEW RELEASE" 를 작성했다.

 

git show 명령어를 통해 각 태그의 정보를 볼 수 있다. 

git show 를 통한 tag 정보/ Lightweight tag(좌), Annotated tag(우)

Lightweight Tag 는 태그된 커밋을 보여준다.

Annotated Tag 는 태그된 커밋과 태그의 작성자, 태그 작성 시간, 태그 작성 메시지를 함께 보여준다. 

 

태그 생성

git tag v1.0.0 # lightweight tag 생성
git tag v1.0.0 <commit-hash> # 특정 commit(hash) 에 lightweight tag 생성
git tag -a v1.0.0 -m "NEW RELEASE" # 메시지와 함께 annotated tag 생성
git tag -a v1.0.0 <commit-hash> -m "NEW RELEASE" # 특정 commit(hash)에 메시지와 함께 annotated tag 생성

 

태그 조회

git tag # 모든 태그 조회
git show v1.0.0 # 특정 태그 정보를 보기
git tag -l 'v1.0.*' # v1.0.x 로 필터링된 태그 보기

태그 전환

git checkout v1.0.0 # v1.0.0 태그로 전환

태그 삭제

git tag -d v1.0.0 # v1.0.0 태그 삭제

원격 저장소 기준

git push origin v1.0.0 # 특정 태그 원격 저장소에 동기화
git push origin --tags # 모든 태그 원격 저장소와 동기화
git push origin --delete v1.0.0 # 원격 저장소 태그 삭제

 

원격저장소에 pull 할 때, pull 하는 commit 에 태그가 있다면 자동으로 받아와진다.

 

 

태그는 편리한 만큼 남용될 수 있다.

태그는 안정된 버전, 마일스톤 등 의미있는 포인트에서 사용되어야한다.

반응형
Comments