VCS/Git

[Pro Git] 2-6. Git의 기초: 태그

noahkim_ 2024. 1. 14. 21:09

Scott Chacon & Ben Straub 님의 "Pro Git" 책을 정리한 포스팅 입니다.

 

1. 태그

  • 특정 커밋을 가리키는 고정된 참조입니다.
  • 항상 동일한 커밋을 가리킵니다.
  • 보통 릴리즈할 때 사용합니다.

 

조회

git tag (-l)
git tag -l "pattern"

 

git show
git show "tag name"
  • 태그의 상세 정보를 볼 수 있습니다.
  • 태그 정보, 커밋 정보 제공

 

태깅

Annotated tag
  • 태그를 만든 저자 이름, 이메일, 생성 날짜, 메시지를 포함합니다.

 

$ git tag -a v1.4 -m "my version 1.4"
  • 생성
    • -a 옵션을 추가하여 생성합니다.
  • 옵션
    • -m : 메시지를 추가합니다.

 

Lightweight tag
  • 단순히 커밋을 가리키는 포인터로 추가적인 정보는 제공하지 않습니다. (옵션 사용 X)
  • 기본적으로 파일에 커밋 체크섬을 저장하는 것 뿐입니다.
$ git tag v1.4-lw

 

이전 커밋 태그

  • 예전 커밋에 대해서도 태그할 수 있습니다.
git tag -a v1.2 <commit hash>

 

태그 공유

  • git push 명령어는 자동으로 리모트 서버에 태그를 전송하지 않습니다.
git push origin <version>

 

태그 checkout

git checkout <tag>
  • 태그가 특정 버전을 가리키고 있고, 특정 버전의 파일을 체크아웃 할 수 있습니다.
  • 태그가 가리키는 커밋으로 HEAD를 이동시킵니다.

 

Detached HEAD
  • HEAD가 현재 어떤 브랜치에도 속하지 않은 상태입니다.
  • 태그를 체크아웃하면 'Detached HEAD' 상태로 들어갑니다.
  • 이 상태에서 커밋하면, 새 커밋은 어떤 브랜치에도 연결되지 않습니다.
  • 지속적인 작업을 위해서는 새 브랜치를 만들어야 합니다.

 

출처