Git을 사용한 형상관리 방법에서 태그(tag)를 사용하는 방법에 대하여 알아봅니다. tag는 언제 사용하고 어떻게 사용할까요? 아래는 git 명령어 중에서 태깅을 하는 방법입니다. 먼저 왜 태그를 사용할까요?

# git에서 태그를 사용하는 이유는?

태그를 효과적으로 사용하면 운영 및 배포에서 매우 편리하게 사용할 수 있습니다. 특히 배포과정에서 많이 쓰이는데 그 이유는 태그명을 배포버전으로 정하고 간략한 정보를 함께 저장할 수 있기때문입니다. 태그를 사용해 원하는 태그로 돌아갈 수도 있죠!



# git 태그 관련 명령어 알아보기

태그를 사용하는 간략한 명령어들을 알아봅니다.

! 태그 리스트 보기, 출력하기
> git tag

아래와 같이 출력됩니다.

myApp v1.0
myApp v1.1
myApp v.1.2
...
..

이런 방식으로 리스트를 출력하며 특정 위치로 이동할 경우 어떤 태그가 저장되어 있는지 확인할 수 있습니다.


! tag에 저장된 메시지도 함께 보는 방법태깅을 할때 저장된 메시지를 보려면 아래와 같이 -n옵션을 사용합니다.

git tag -l -n5

실행하면 아래와같이 tag 목록과 저장된 내용(메모)을 함께 출력합니다.

myApp v1.0          Webisfree version 1.0 2017/11/02
myApp v1.0          Webisfree version 1.1 2017/11/12
myApp v1.0          Webisfree version 1.2 2017/11/22

여기까지 태그의 출력방법을 알아보았습니다. 아래는 태그를 추가하는 방법에 대하여 알아봅니다.


!  Git에 태그 추가하기태그를 추가할 경우 아래와 같이 사용합니다. git tag 뒤에 태그이름을 입력합니다.
git tag v0.0.1


! Git에서 annotated 태그 추가하기git의 태그는 또 다른 방식의 경량화된 버전이 존재합니다. 이 태그는 간단한 메모 등을 통해 정보를 간략하게 남기는 목적으로 사용됩니다. 이를 사용할 경우 -a 옵션을 주면 가능합니다.
git tag -a 'myApp v3.0'

메시지를 추가할 경우 아래처럼 -m 옵션을 추가 사용합니다.
git tag -a 'myApp v3.1' -m '메시지 내용'


! 태그의 세부정보 보기show 옵션을 추가해 아래와 같이 태그 정보를 확인할 수 있습니다.
git show v1.5


! Git tag를 Push remote에 올리기태그를 사용하는 목적은 원하는 커밋 시점으로 돌아갈 수 있다는 장점입니다. 만약 v1.0 상태로 변경하려면 아래와 같이 해당 태그 이름을 사용하여 push 명령어를 수행합니다.
git push origin v3.0

한번에 모두 remote 올리기
git push origin --tags


! Git tag를 삭제하기 ​​​​​​​만약 생성된 태그(tag)를 삭제할 경우 -d 옵션을 추가하여 사용합니다. 예를들어 v1.5 이름의 태그를 삭제한다면 아래와 같이 수행합니다.
git tag -d v3.0


! Remote의 tag 삭제하기아래 방법으로 remote의 tag를 삭제할 수 있습니다.
git push tag :v3.0



# 마치면서

태그를 중요 시점에 저장하면 나중에 특정 위치로 이동하거나 찾을때 매우 편리합니다. 이를 사용 활용할 수 있는 부분 중 하나로 배포(Deployment)에 활용할 수 있다는 점입니다. 해당 어플리케이션의 버전을 태그로 관리, 배포할 경우 매우 편리하죠.