태그를 이용한 체크아웃


태그는 특정 커밋을 가리키는 포인터입니다. 따라서 태그를 이용하여 특정 커밋으로 체크아웃할 수 있습니다. 체크아웃할 때 브랜치 이름 대신 태그 이름을 입력하면 됩니다.

$ git checkout 태그 이름
infoh@DESKTOP MINGW64 /e/gitstudy10 (master)
$ git checkout 1.0.0
Note: checking out '1.0.0'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at 53028dc test 1.0.0

infoh@DESKTOP MINGW64 /e/gitstudy10 ((1.0.0)) ☜ 브랜치명이 테크명으로 출력

태그를 이용하여 체그아웃되면 깃 배시는 브랜치 이름을 태그 이름으로 브랜치가 표시 합됩니다. 태그를 이용하여면 특정 커밋으로 위치로 체크아웃 이동은 할 수 있지만, 해당 브랜치 처럼에서 추가 커밋을 작성할 과 같은 작업은 할 수는 없습니다. 태그는 브랜치와 달리 단순한 포인터 이기 때문입니다.

태그 위치로 체크아웃한 후에는 다시 원상태로 돌아와야 합니다. 오는 방법은 일반적인 브랜치로 체크아웃하면 다시 되돌아 올 수 있습됩니다. master 브랜치로 체크아웃하여 되돌아 옵니다.

infoh@DESKTOP MINGW64 /e/gitstudy10 ((1.0.0))
$ git checkout master ☜ 되돌아 오기
Previous HEAD position was 53028dc test 1.0.0
Switched to branch 'master'

infoh@DESKTOP MINGW64 /e/gitstudy10 (master)

master 브랜치로 되돌아왔습니다.


태그 브랜치


특정 태그를 이용하여 체크아웃한 경우에는 추가 커밋을 작성할 수 없습니다. 만일 추가 커밋 위치로 이동하여 추가로 작업이 필요 하고자 한다면, 태그를 기반으로 새 브랜치를 생성합니다. 테그로 생성된 브랜치는 동일한 시작 커밋을 가지고 있습니다. 새로운 브랜치에서 원하는 추가 한 후 작업이 하는 것은 가능합니다.

$ git checkout -b 브랜치이름 태그이름

태그를 사용하여 브랜치를 생성할 때는 지정 커밋의 해시값 대신 태그 이름을 사용합니다.적어주면 됩니다. 그럼 실습해볼까요?

infoh@DESKTOP MINGW64 /e/gitstudy10 ((1.0.0))
$ git checkout -b fix 1.0.0 ☜ 테그 기준으로 브랜치 생성
Switched to a new branch 'fix'

infoh@DESKTOP MINGW64 /e/gitstudy10 (fix)

태그 이름으로 새 브랜치를 만들고, 체크아웃 이동까지 같이 할 수 있습니다.



깃교과서

버전 관리 시스템의 이해와 설치부터 커밋, 브랜치, 임시 처리, 병합, 복귀, 서브모듈, 태그까지
깃, 소스트리, 깃허브로 실습하며 기본기를 탄탄하게 다진다!