태그란, 커밋을 참조하기 쉽도록 알기 쉬운 이름을 붙이는 것
한 번 붙인 태그는 브랜치처럼 위치가 이동하지 않고 고정 됨
보통 소프트웨어의 버전, 릴리즈 항목을 지정할 때 사용하며 하나의 완성보늬 형태로 보관, 관리를 하고 싶을 경우 이용
일반적으로 이름 정보만 갖는 태그(Lightweight tag)와 상세한 정보를 포함한 주석태그(Annotated tag) 두가지 태그 사용 가능하다.
- 태그(Lightweight tag) : 이름만 붙일 수 있음
- 주석태그(Annotated tag) : 이름 붙일 수 있음, 태그에 대한 설명 포함 가능, 서명 넣을 수 있음, 태그를 만든 사람의 이름, 이메일과 태그를 만든 날짜 정보 포함 가능
보통 릴리즈 브랜치(release branch)에는 주석 태그를 사용하여 해당 브랜치에 대한 보다 상세한 정보를 포함한다.
$ git tag
v0.1.0
v0.1.1
...
-l 또는 --list 옵션 및 와일드카드(*) 패턴과 함께 사용하여 조건에 맞는 태그 검색 가능
$ git tag --list "v0.1.*"
v0.1.0
v0.1.1
$ git tag -l "v0.*.1"
v0.1.1
show-ref 명령어를 --tags 옵션과 함께 태그 리스트 조회 가능
$ git show-ref --tags
284e431b156e31f7e04b02aad9da59dfa659d8a2 refs/tags/tag수정
284e431b156e31f7e04b02aad9da59dfa659d8a2 refs/tags/v0.1.0
284e431b156e31f7e04b02aad9da59dfa659d8a2 refs/tags/v0.1.1
show 명령어를 사용하여 특정 태그에 대한 정보 조회 가능
$ git show v0.1.0
commit 284e431b156e31f7e04b02aad9da59dfa659d8a2 (HEAD -> master, tag: v0.1.1, tag: v0.1.0, tag: tag수정)
Author: Emma <***@gmail.com>
Date: Tue Jul 5 16:41:22 2022 +0900
test2 파일 생성
diff --git a/test2 b/test2
new file mode 100644
index 0000000..b377978
--- /dev/null
+++ b/test2
@@ -0,0 +1,5 @@
+
+
+
+
+test 2 파일 생성
-n옵션과 함께 사용하면 태그 목록과 주석 내용 확인 가능
$ git tag -n
banana 누구나 쉽게 이해하는 git
tag수정 test2 파일 생성
v0.1.0 test2 파일 생성
$ git tag <TAG NAME>
$ git tag v0.1.0
$ git tag
v0.1.0
-a 옵션과 함께 사용하여 생성
$ git tag -a <TAG NAME> -m "tag message"
$ git tag -a v0.1.0 -m "2022-07-06 첫 번째 태그 생성"
로컬 저장소의 태그를 삭제하려면 -d 또는 --delete 옵션 사용
$ git tag -d v0.1.0
$ git tag <NEW TAG NAME> <OLD TAG NAME>
$ git tag -d <OLD TAG NAME>
$ git tag -a <NEW TAG NAME> <OLD TAG NAME>^{} -m "NEW TAG MESSAGE"
$ git tag -d <OLD TAG NAME>
$ git push <REMOTE> <TAG NAME>
$ git push origin v1.0
$ git push <REMOTE> --tags
$ git push origin --tags
참고 자료
git Tag 추가 변경 삭제