반응형
이번 포스팅에서는 [실전 활용 및 고급 기술] 파트의 세부 주제인 소프트웨어 릴리스 버전 마킹 (Tag)에 대하여 상세히 알아보겠습니다.

1. Tag의 목적과 특성
소프트웨어 개발 과정에서 의미 있는 마일스톤(예: v1.0.0 정식 출시)에 도달했을 때, 해당 시점의 소스 코드를 쉽게 찾을 수 있도록 북마크를 남기는 기능이 바로 태그(Tag)입니다. 브랜치(Branch)와 유사하게 특정 커밋을 가리키는 포인터 역할을 하지만, 커밋이 추가되더라도 태그가 가리키는 위치는 절대 변하지 않는다는(Read-only) 결정적인 차이가 있습니다.
2. Tag의 두 가지 종류와 생성 방법
Git은 가벼운 태그(Lightweight)와 주석 태그(Annotated) 두 가지 형식을 지원합니다.
- Lightweight Tag: 이름만 달아두는 임시 북마크 용도입니다.
$ git tag v1.0.0-beta - Annotated Tag: 태그를 만든 사람, 이메일, 생성 날짜, 상세한 릴리스 노트를 포함하는 객체입니다. 정식 릴리스에는 이 방식을 권장합니다.
$ git tag -a v1.0.0 -m "정식 1.0.0 버전 릴리스 (메인 기능 안정화)"
3. 원격 저장소 동기화
태그는 로컬에서 생성하더라도 일반적인 git push 명령어로는 원격 저장소에 전송되지 않습니다. 태그 전용 Push 명령을 사용해야 합니다.
# 특정 태그 하나만 원격에 업로드
$ git push origin v1.0.0
# 로컬에 있는 모든 태그를 한 번에 원격으로 업로드
$ git push origin --tags
지금까지 소프트웨어 릴리스 버전 마킹 (Tag)의 개념과 구체적인 활용 방안에 대해 살펴보았습니다. 이어지는 다음 포스팅에서 관련 심화 주제를 지속적으로 다루어보겠습니다.
반응형
'CI.CD > GIT' 카테고리의 다른 글
| [GIT] 성공적인 협업을 위한 브랜치 전략 모음 (0) | 2026.07.14 |
|---|---|
| [GIT] 장애 원인 추적: Blame & Bisect (0) | 2026.07.14 |
| [GIT] 사라진 커밋 구출 작전 (Reflog) (0) | 2026.07.14 |
| [GIT] 최근 커밋 덮어쓰기 및 편집 (Amend) (0) | 2026.07.14 |
| [GIT] 특정 커밋만 선별하여 가져오기 (Cherry-pick) (0) | 2026.07.14 |