본문 바로가기
git (협업 툴) 사용법 정리

GIT : 태그 추가 및 삭제 명령어 간단 정리

by 번데기 개발자 2023. 8. 15.
반응형

개요

 

Git을 사용할때 사용하는 태그 사용법에 대해서 자주 사용되는 명령어들을 간단하게 정리해보도록 하겠습니다.

 

 

사용 이유

 

보통 개발을 하게 되면 수백개의 커밋들이 쌓이게 됩니다. 우리는 그 커밋들 중에 중요한 내용들만 태그로 지정해두고 나중에 필요할때 이동하거나 버전별로 비교해볼수가 있게 됩니다.

 

보통 Git에서 태그를 사용할때는 보통 소프트웨어 버전관리를 위해 사용되는데요, 예를 들면 소프트웨어 버전이 올라갈때 v1.0, v1.1 이러한 식으로 태깅을 해놓게 됩니다.

 

커밋과의 차이점은, 커밋은 변경사항을 기록하는 작업이며, 커밋의 내용을 수정하거나 변경할수가 있습니다. 커밋의 메세지를 수정하거나 변경사항을 추가하여 다시 커밋할수가 있습니다. 반면에 태그는 특정 커밋에 대한 읽기전용이기 때문에, 해당 시점의 소스코드를 확인하거나 사용할 수는 있지만, 해당 태그의 변경사항을 추가하거나 수정할수는 없습니다.

 

아래에서는 사용법을 한번 알아보도록 하겠습니다.

 

 

태그 조회하기

 

태그 조회시 git tag 를 사용하여 조회할 수 있습니다.

 

# git tag
v1.0.0
v1.0.1
v1.1.0
v2.0.0

 

조건을 추가해서 검색하고 싶으면 -l 옵션을 이용해서 아래와 같이 찾을 수 있습니다.

 

# git tag -l "v1.*"
v1.0.1
v1.0.2
v1.1.0

 

 

태그 생성하기

 

태그의 종류에는 Lightweight와 Annotated 두 종류가 있는데요, Lightweight 태그는 특정 커밋을 단순히 가리키는 역할만 수행하지만, Annotated 태그는 태그를 작성한 사람, 이메일, 날짜, 메세지 등을 저장할 수 있고 GPG(GNU Privacy Guard) 로 서명할 수도 있습니다.

 

먼저 LightWeight 태그는 아래와 같이 생성할 수 있습니다. 보통 git tag [Tag Name]으로 붙일수 있습니다.

 

# git tag v1.0.2
# git tag
v1.0.2

 

다음으로 Annotated 태그는 -a 옵션을 사용하여 생성할 수 있습니다.

 

# git tag -a v1.0.3 -m "Release version 1.0.3"

 

git show [태그 버전] 을 통해 태그 메세지와 커밋을 확인할수도 있습니다.

 

tag v1.0.3
Tagger: jungwoole91 <jungwoole91@gmail.com>
Date:   Tue Aug 15 16:12:06 2023 +0900

Release vsersion 1.0.3

commit 3fd1fce2c2ecd67c95d90bb3c454e4202943b334 (HEAD -> master, tag: v1.0.3, tag: v1.0.2, tag: v1.0.1, tag: v1.0.0, tag: show)
Author: jungwoole91 <jungwoole91@gmail.com>
Date:   Tue Aug 15 16:02:59 2023 +0900

    [feat] initial commit

diff --git a/README.md b/README.md
new file mode 100644
index 0000000..9daeafb
--- /dev/null
+++ b/README.md
@@ -0,0 +1 @@
+test

 

이전 커밋에 태그를 남기고 싶으면 커밋 해쉬를 추가하여 남길 수 있습니다. 

 

# git tag v1.0.5 03c0beb080 
# git tag -a v1.0.4 -m "Release version 1.0.4" 432f6ed

 

GPG 서명이 있다면 -s 옵션을 사용하여 태그에 서명할수도 있습니다. 

 

# git tag -s v1.0.3 -m"Release version 1.0.3"

 

태그 원격 저장소에 올리기

 

태그를 원격 저장소에 올리고 싶으면 다음과 같이 push 명령을 사용해주시면 됩니다.

 

# git push origin v1.0.3

 

모든 태그를 원격 저장소에 올리고 싶으면 --tags 옵션을 같이 사용해주시면 됩니다.

 

# git push origin --tags

 

태그 삭제하기 

 

로컬에서 필요 없거나 잘못 만든 태그는 -d 옵션을 통해 삭제 할수 있습니다.

 

git tag -d v1.0.0

 

원격 저장소의 태그를 삭제하기 위해서는 : 을 이용하여 삭제할 수 있습니다.

 

 

# git push origin :v1.0.0

 

 

 

 

마무리

 

오늘은 오랜만에 GIT에 대해서 정리를 해보았습니다.

 

그냥 단순하게 tag 를 만드는 법만 알고 있었는데 자세히 보니 tag에도 여러 사용법이 있다는것을 알게되어 추후 유용하게 사용할 수 있을 것 같습니다.

 

앞으로도 Git에 대해 모르는 내용을 알때마다 정리할 예정입니다 .

 

감사합니다. 

 

 

 

출처

- https://minsone.github.io/git/git-addtion-and-modified-delete-tag

반응형