git 에서 tag는 언제 쓰고 어떻게 쓸까?
- Git에서 **tag(태그)**는 특정 커밋에 이름을 붙여서 식별하기 쉽게 만드는 기능입니다.
- 일반적으로 릴리즈 버전을 표시할 때 많이 사용되며, 특정 시점의 스냅샷을 의미합니다.
🎯 태그의 주요 역할
-
릴리즈 마킹
- 예: v1.0.0, v2.1.3
- 배포한 버전이 어떤 커밋인지 명확하게 추적할 수 있습니다.
-
스냅샷 저장
- 특정 커밋에 중요한 의미를 부여하고 싶을 때 (예: 첫 배포, 테스트 완료 지점 등)
-
CI/CD 트리거용
- 태그가 push될 때 자동 배포되도록 CI 파이프라인 설정이 가능
🛠️ 태그의 종류
- Lightweight Tag (가벼운 태그)
- 단순히 커밋을 가리키는 포인터
- Git 내부적으로는 브랜치와 유사한 구조
git tag v1.0.0 - Annotated Tag (주석이 있는 태그)
- 태그 생성자 정보, 날짜, 메시지 등을 포함
- 릴리즈에는 보통 이걸 사용
git tag -a v1.0.0 -m "Release version 1.0.0"
📤 태그 푸시 및 공유
- 태그는 기본적으로 git push로 자동 푸시되지 않음. 명시적으로 푸시해야 함:
# 특정 태그 푸시 git push origin v1.0.0 # 모든 태그 푸시 git push origin --tags
🔍 태그 확인
# 로컬 태그 목록
git tag
# 특정 태그가 가리키는 커밋 보기
git show v1.0.0
🧽 태그 삭제
# 로컬 태그 삭제
git tag -d v1.0.0
# 원격 태그 삭제
git push origin --delete v1.0.0
📦 활용 예시 (릴리즈 관리)
# 코드가 안정화된 시점
git checkout main
git pull
git tag -a v1.0.0 -m "First stable release"
git push origin v1.0.0
- CI/CD 도구(GitHub Actions, Jenkins 등)는 이 태그를 감지해서 v1.0.0을 자동으로 배포하게 할 수 있습니다.