SVN의 Tag처럼 Git에도 Tag가 있다. 어떻게 사용하는지 보자
1) Tag 조회하기 : git tag
- 특정 버전 조회시 git tag -l 'v1.4.2.*' 식으로 조회한다
2) Annotated Tag 붙이기 : git tag -a [버전] -m '[메시지]'
- Tag를 만든 사람의 이름, 이메일, 날짜, 메시지를 저장함. 단순 Tag일때는 Lightweight Tag를 사용함
- Tag 정보와 커밋 정보 보기 : git show [버전]
$ git tag -a v1.1 -m 'pro git version 1.1'
$ git tag
v1.1
$ git show v1.1
tag v1.1
Tagger: Yun DoWon <ysyun@yuwin.co.kr>
Date: Tue Jan 8 19:40:20 2013 +0900
pro git version 1.1
commit 329db048ff7af2d417588e28da50a6c53fb1bd84
Author: Yun DoWon <ysyun@yuwin.co.kr>
Date: Thu Dec 27 11:07:26 2012 +0900
add content in build.gradle
3) Lightweight Tag : git tag [버전]
- 브랜치처럼 가리키는 지점을 최신 커밋으로 이동시키지 않는다. 단순 특정 커밋에 대한 포인터일 뿐임 (체크섬만을 저장할 뿐)
- -a, -s, -m 등의 옵션을 사용하지 않는다
$ git tag v1.1w
$ git tag
v1.1
v1.1w
// 단순히 커밋 정보만 보여준다
$ git show
commit 329db048ff7af2d417588e28da50a6c53fb1bd84
Author: Yun DoWon <ysyun@yuwin.co.kr>
Date: Thu Dec 27 11:07:26 2012 +0900
add content in build.gradle
4) Tag 검증하기 : git tag -v [버전]
- GPG 서명을 검증하는 것으로 공개키가 필요하다
- 서명 메시지가 없으면 하기와 같은 error 메시지가 나옴 (다음 기회에 다시 알아보자)
$ git tag -v v1.1
object 329db048ff7af2d417588e28da50a6c53fb1bd84
type commit
tag v1.1
tagger Yun DoWon <ysyun@yuwin.co.kr> 1357641620 +0900
pro git version 1.1
error: no signature found
error: could not verify the tag 'v1.1'
5) 나중에 Tag 하기 : git tag -a v1.2 [해쉬값 앞 7자리] -m '[메시지]'
- 과거 특정 커밋에 대해서 Tag를 달 수 있다. 커밋 내역 확인하기 : git log --pretty=oneline
$ git log --pretty=oneline
329db048ff7af2d417588e28da50a6c53fb1bd84 add content in build.gradle
f856853c5b0ac53483f9d14fe1b3ec6ef0fdbca7 Update build.gradle
03ca40a6026b9144f15cc8988ad6539049d36486 Create build.gradle
49c657f59b787b0ee8409782cd1d5ff16b78033d Initial commit
// 메시지를 -m을 넣지 않으면 하기와 같이 오류 발생함
$ git tag -a v1.2 03ca40a
fatal: no tag message?
$ git tag -a v1.0.1 03ca40a -m 'v1.0.1'
$ git tag
v1.0.1
v1.1
v1.1w
$ git show v1.0.1
tag v1.0.1
Tagger: Yun DoWon <ysyun@yuwin.co.kr>
Date: Tue Jan 8 19:57:06 2013 +0900
v1.0.1
commit 03ca40a6026b9144f15cc8988ad6539049d36486
Author: 윤도원 (영식) <ysyun@yuwin.co.kr>
Date: Wed Dec 26 17:55:01 2012 -0800
Create build.gradle
6) Tag 공유하기 : git push origin [버전]
- 서버로 Branch를 push 하는 것과 동일하다
- 한번에 여러 개의 tag를 push 하기 : git push origin --tags
$ git push origin v1.1
Username for 'https://github.com':
Password for 'https://ysyun@yuwin.co.kr@github.com':
Counting objects: 1, done.
Writing objects: 100% (1/1), 169 bytes, done.
Total 1 (delta 0), reused 0 (delta 0)
To https://github.com/ysyun/pro_git.git
* [new tag] v1.1 -> v1.1
$ git push origin --tags
Username for 'https://github.com':
Password for 'https://ysyun@yuwin.co.kr@github.com':
Counting objects: 1, done.
Writing objects: 100% (1/1), 159 bytes, done.
Total 1 (delta 0), reused 0 (delta 0)
To https://github.com/ysyun/pro_git.git
* [new tag] v1.0.1 -> v1.0.1
* [new tag] v1.1w -> v1.1w
'Git, GitHub > Git Lec02' 카테고리의 다른 글
[Pro Git] Branch 사용하기 (0) | 2013.01.16 |
---|---|
[Pro Git] Git Alias 사용하기 (0) | 2013.01.08 |
[Pro Git] 리모트 저장소 관리하기 (0) | 2012.12.27 |
[Pro Git] Git 저장소 만들기와 상태 변경 명령 (0) | 2012.12.24 |
[Pro Git] Git 설치와 최초 설정하기 (0) | 2012.12.24 |