Git Tag
✒️ 2025-07-26 20:38 내용 수정
Tag
특정 Commit에 대한 고정 Reference
- Git에서 Tag는 특정 Commit을 식별하기 위해 사용하는 기능이다.
- 주로 소프트웨어의 릴리스 버전을 표시하거나 중요한 지점을 표시하는 데 사용한다.
- Tag는 Branch와 달리 변경되지 않는 고정된 포인터로, 저장소의 특정 시점을 참조할 수 있다.
git tag <Tag이름>
Tag와 Branch의 차이점
| 항목 | Tag | Branch |
|---|---|---|
| 목적 | 특정 Commit을 고정적으로 참조 | 새로운 기능 개발 또는 버그 수정 등 작업 공간 |
| 변경 여부 | 변경되지 않음 (고정) | Commit을 통해 변경됨 |
| 사용 사례 | 릴리스 버전 표시, 중요한 지점 마킹 | 기능 개발, 버그 수정 등 |
| 메타데이터 | 주석이 있는 Tag의 경우 메타데이터 포함 가능 | Commit을 통해 메타데이터 관리 |
Tag의 종류
1. 경량 Tag (Lightweight Tag)
- 단순히 특정 Commit을 가리키는 포인터로, 메타 데이터가 없다.
- 내부용 또는 빠른 참조용으로 사용한다.
git tag <Tag이름>
git tag v1.0.
2. 주석 Tag (Annotated Tag)
- 작성자 정보, 날짜, 메시지 등 메타데이터를 포함하는 Tag object다.
- 서명이 가능하며 Release 표시 및 관리에 적합하다.
git tag -a <Tag이름> -m "Tag 메시지"
git tag -a v1.0.0 -m "첫 번째 릴리스"
주요 명령어
1. Tag 생성
- 경량 Tag
git tag <Tag이름>
git tag v1.0.
- 주석 Tag
git tag -a <Tag이름> -m "Tag 메시지"
git tag -a v1.0.0 -m "첫 번째 릴리스"
2. Tag 목록 확인
- 모든 Tag 목록 확인
git tag
- 특정 패턴의 Tag 목록 확인
git tag -l <pattern>
git tag -l "v1.8.5*"
3. Tag 상세 정보 확인
git show <Tag이름>
git show v1.0.0
4. 특정 Commit에 Tag 지정
git tag -a <Tag이름> <Commit해시> -m "Tag 메시지"
git tag -a v1.0.0 9fceb02 -m "첫 번째 릴리스"
5. Tag Push
- 특정 Tag Push
git push origin <Tag이름>
- 모든 Tag Push
git push origin --tags
6. Tag 삭제
- 로컬 Tag 삭제
git tag -d <Tag이름>
- 원격 Tag 삭제
git push origin --delete <Tag이름>