Git tag란 무엇이고 언제 사용되는가?
Git tag는 특정 커밋에 대해 레이블을 지정하여 태그를 붙이는 기능입니다. 이를 사용하면 특정 커밋의 버전을 명시할 수 있습니다. 보통
이번 글에서는 Git tag를 만드는 방법부터 검색하고, 삭제하고, 푸시하는 방법까지 알아보겠습니다.
로컬 저장소의 Git tag 조작
Git tag 만들기
Git tag를 만드는 방법은 다음과 같습니다.
git tag <tag-name>
예를 들어, v1.0이라는 이름의 태그를 만들고 싶다면 다음과 같이 입력합니다.
git tag v1.0
위의 명령어를 실행하면 가장 최근의 커밋에 대해 v1.0이라는 태그가 만들어집니다.
만약 특정 커밋에 대해 태그를 만들고 싶다면, 해당 커밋의 해시값을 입력합니다.
git tag v1.0 4aefeg
위의 명령어를 실행하면 4aefeg 해시값에 대해 v1.0이라는 태그가 만들어집니다.
Git tag 검색하기
tag는 버전으로 많이 사용되기 때문에 Git에서는 검색 방법 또한 제공합니다. 만들어진 Git tag를 검색하는 방법은 다음과 같습니다. 아래 명령어를 실행하면 모든 태그 목록이 출력됩니다.
git tag
// 출력
v1.0
v2.0
v3.0
만약 특정 태그가 있는지 검색하고 싶다면, 태그 이름을 지정하여 검색합니다. 태그 이름 지정 시에는 특정한 패턴의 태그를 인식하기 위해 *를 사용할 수 있습니다. 만약 아래와 같이 v1.* 을 검색하면 v1. 으로 시작하는 모든 태그가 검색됩니다.
git tag -l "v1.*"
Git tag 삭제하기
Git tag를 삭제하는 방법은 다음과 같습니다. -d 옵션을 주어 delete하도록 명령하고 <tag-name>에 태그의 이름을 입력하면 해당 이름의 태그가 삭제됩니다.
git tag -d <tag-name>
예를 들어, v1.0이라는 이름의 태그를 삭제하고 싶다면 다음과 같이 입력합니다. 아래 명령어를 실행하면 v1.0이라는 태그가 삭제됩니다.
git tag -d v1.0
Git tag 확인하기
Git tag를 확인하는 방법은 다음과 같습니다.
git tag -n
위의 명령어를 실행하면 모든 태그 목록과 해당 태그가 가리키는 커밋 메시지가 함께 출력됩니다.
v1.0 Initial version
v2.0 Bug fixes and feature enhancements
v3.0 Security updates
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>
예를 들어, v1.0이라는 이름의 태그를 origin이라는 alias를 가진 원격 저장소에 푸시하고 싶다면 다음과 같이 입력합니다.
git push origin v1.0
위의 명령어를 실행하면 v1.0이라는 태그가 원격 저장소에 푸시됩니다.
만약 모든 태그를 푸시하고 싶다면 다음 명령어를 사용하면 됩니다.
git push <remote-alias> --tags
위의 명령어는 모든 로컬 태그를 원격 저장소에 푸시합니다.
Remote 저장소에 올라간 tag 삭제하기
원격 저장소에 올라간 Git tag를 삭제하는 방법은 다음과 같습니다.
git push --delete <remote-alias> <tag-name>
위의 명령어에서 <tag-name> 부분은 삭제하고자 하는 태그 이름으로 대체해야 합니다. 예를 들어, origin에 올라간 v1.0이라는 이름의 태그를 삭제하고자 하는 경우 다음과 같이 입력합니다.
git push --delete origin v1.0
Git tag 정리하기
Git tag는 특정 커밋에 대해 라벨을 지정하여 어떤 버전을 가리키는지 명시하는 기능입니다. 이번 글에서는 Git tag를 만들고, 검색하고, 삭제하고, 푸시하고 원격 저장소에 올라간 tag를 삭제하는 방법을 알아보았습니다.
Git tag를 적극적으로 활용하면, 개발 시 버전 관리를 보다 용이하게 할 수 있고, 특정 tag가 푸시되었을 때 GitHub Action이나 Jenkins CI/CD 작업을 하도록 만들어 개발자들의 공수를 줄일 수도 있습니다.
'Git' 카테고리의 다른 글
Git, GitHub, GitHub Action의 차이 알아보기 (0) | 2023.02.21 |
---|---|
Git의 user name과 user email 설정하는 방법 알아보고 git config 파일의 위치 알아보기 (0) | 2023.02.18 |
Git Branch 생성, 전환, 이름 변경하는 방법 한 번에 정리하기 (0) | 2023.02.17 |
Git 에 .gitignore 파일 사용해 추적되지 말아야 할 파일 정의하기 (0) | 2023.02.16 |
Git이란 무엇인가? 구조, 주요 기능, 원격 저장소 알아보기 (0) | 2023.02.15 |