git tag란 우리가 알고 있는 것처럼 무언가 표시를 해두기 위한 태깅 기능을 위한 것으로, 특정 커밋을 태그해두는 것이다.
커밋과 태그의 차이점이라고 한다면 커밋의 경우 checkout 하여 내용을 수정할 수 있으나, 태그는 수정이 불가능하며, 따라서 읽기 전용 커밋 같은 개념이다.
보통 태그는 소프트웨어의 버전을 릴리즈 할 때 사용한다. 예를 들어 제품이 1.0이 릴리즈 될 때 태깅을 한번 해두고 1.1 버전을 개발하면서 그 사이에 만들어지는 브랜치들과 커밋들이 존재하는데 이러한 것들은 커밋으로만 관리하다가 1.1 버전이 완성되는 커밋에 태깅을 해두는 것이다.
git tag 만들기
git tag를 만드는 방법
- git tag <tag-name>
예를 들면 v1.0이라는 이름의 태그를 만들고 싶다면 다음과 같이 입력한다
- git tag v1.0
만약 특정 커밋에 대해 태그를 만들고 싶다면, 해당 커밋의 해시값을 입력한다.
- git tag v1.0 4aefeg
git tag 검색하기
tag는 버전으로 많이 사용되기 때문에 Git에서는 검색 방법 또한 제공한다. 만들어진 Git tag를 검색하는 방법은 다음과 같다.
- git tag
만약 특정 태그가 있는지 검색하고 싶다면, 태그 이름을 지정하여 검색한다. 태그 이름 지정 시에는 특정한 패턴의 태그를 인식하기 위해 * 를 사용할 수 있다. 만약 아래와 같이 v1.* 을 검색하면 v1.으로 시작하는 모든 태그가 검색된다.
- git tag -l “v1.*”
git tag 삭제하기
git tag를 삭제하는 방법은 다음과 같다. -d 옵션을 주어 delete 하도록 명령하고 <tag-name>에 태그의 이름을 입력하면 해당 이름의 태그가 삭제 된다.
- git tag -d <tag-name>
git tag 확인하기
git tag를 확인하는 방법
- git tag -n
위 명령어를 실행하면 모든 태그 목록과 해당 태그가 가리키는 커밋 메세지가 함께 출력된다.
Remote 저장소의 git tag 조작
git tag 푸시하기
로컬에서 만든 git tag를 원격 저장소에 푸시하는 방법은 다음과 같다. push 후 remote repository의 alias를 입력하고 그 뒤에 tag명을 입력한다. 그러면 로컬에 설정된 tag가 remote로 올라간다.
- git push <remote-alias> <tag-name>
대표적인 remote repository의 alias는 origin이 있다. remote repository의 origin이라는 이름을 가진 alias를 설정하는 방법은 아래와 같다.
- git remote add origin <url>
git tag 정리하기
git tag는 특정 커밋에 대해 라벨을 지정하여 어떤 버전을 가리키는지 명시하는 기능이다. git tag를 적극적으로 활용하면, 개발 시 버전 관리를 보다 용이하게 할 수 있고, 특정 tag가 푸시 되었을 때 github actions나 jenkins 등으로 ci/cd 작업을 하도록 만들어 개발자들의 공수를 줄일 수도 있다.
'기타' 카테고리의 다른 글
[면접후기] 관상면접이라고 들어보았는가...? (2) | 2024.03.13 |
---|---|
[GitHub] Github error: src refspec main does not match any 해결법 (0) | 2023.11.22 |
[NodeJS] NVM으로 Node 버전 관리하기 (0) | 2023.09.01 |
웹 크롤링과 스크래핑의 차이 (0) | 2023.05.15 |
익숙함에 대해서 (1) | 2023.04.12 |