[Git] 태그(Tag)

jihye·2022년 7월 6일
0

Git

목록 보기
4/4

태그(Tag)🏷

태그란, 커밋을 참조하기 쉽도록 알기 쉬운 이름을 붙이는 것
한 번 붙인 태그는 브랜치처럼 위치가 이동하지 않고 고정 됨
보통 소프트웨어의 버전, 릴리즈 항목을 지정할 때 사용하며 하나의 완성보늬 형태로 보관, 관리를 하고 싶을 경우 이용
일반적으로 이름 정보만 갖는 태그(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 파일 생성

태그 생성(lightweight)

$ git tag <TAG NAME>
  
$ git tag v0.1.0
$ git tag

v0.1.0

태그 생성(annotated)

-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

태그 수정(lightweight)

$ git tag <NEW TAG NAME> <OLD TAG NAME>
$ git tag -d <OLD TAG NAME> 

태그 수정(annotated)

$ 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 추가 변경 삭제

profile
프론트엔드 개발자

0개의 댓글