저장소의 소스코드 버전을 표시하기 위해서 커밋메세지, 브랜치로 표시하는것도 좋지만 태그로 표시하는 방법도 알아봅니다.


태그 조회하기

태그를 조회할때는 git tag를 사용하여 조회합니다

git tag
v1.0.0
v1.0.1
v2.0.2
...

조건을 주어서 태그를 검색하려고 한다면 git tag -1 v1.0.* 처럼 사용합니다.

# git tag -l v1.0.*
v1.0.0
v1.0.1
...

태그 생성 방법

태그의 종류는 2가지가 있습니다.

  • Lightweight: 특정 커밋을 가르키는 역활을 합니다.
  • Annotated: 만든 사람, 이메일, 날짜, 메시지를 저장합니다 그리고 GPG(GNU Privacy Guard)로 서명할수 있습니다. 위의 모든 정보가 필요할때만 Annotated 태그를 추천합니다.

- Lightweight

git tag[tag Name] 으로 만들수 있습니다. Lightweight 태그를 만들 때에는 -a, -s, -m 옵션을 사용하지 않습니다.

# git tag v1.0.0
# git tag
v1.0.0

- Annotated 태그는 -a 옵션을 사용합니다

git tag -a v1.0.1 -m"Release version 1.0.1"

Git show v1.0.1을 통해 태그 메세지와 커밋을 확인할수 있습니다

tag v1.0.1
Tagger: MinJunJu <dev.mjun@gmail.com>
Date:   Sun Apr 8 18:11:12 2018 +0900

Release version 1.0.1

commit 35e0323b300d52e0721cde605f11acfb81dae361 (HEAD -> master, tag: v1.0.1, tag: v0.1, origin/master, origin/HEAD)
Author: MinJunJu <dev.mjun@gmail.com>
Date:   Sun Apr 8 17:56:04 2018 +0900

    18-4-8-17:55, RxSwift 1차 마무리

diff --git "a/1_Translated_Ebook/2018-3-16-Building_a_Complete_RxSwift_App_20(\354\236\221\354\204\261\354\244\221..).md" b/1_Translated_Ebook/2018-3-16-Building_a_Complete_RxSwift_App_20.md
similarity index 99%
rename from "1_Translated_Ebook/2018-3-16-Building_a_Complete_RxSwift_App_20(\354\236\221\354\204\261\354\244\221..).md"
rename to 1_Translated_Ebook/2018-3-16-Building_a_Complete_RxSwift_App_20.md
index 568871c..3358658 100644
--- "a/1_Translated_Ebook/2018-3-16-Building_a_Complete_RxSwift_App_20(\354\236\221\354\204\261\35
....

태그 원격 저장소에 올리기

태그를 만들고 원격 저장소에 올려야할 필요가 있다면 브랜치를 올리는 방법과 같이 사용할수 있습니다.

Git push Origin v.1.0.1

모든 태그를 올리려면 --tags를 사용합니다.

# git push origin --tags 

태그 삭제하기

필요없거나 잘못 만든 태그를 삭제하기 위해선 -d옵션을 사용하여 삭제할수 있습니다.

# git tag -d v1.0.0

원격 저장소에 올라간 태그 삭제하기

# git push origin :v1.0.0

Reference

Git의 기초-태그
minsone님 블로그