Git, Github 버전관리 | Tag와 Release

2025. 1. 23. 01:59기반기술/Git, Github

1. Tag (태그)

Git의 기본 개념으로, 특정 커밋에 "이름표"를 붙이는 기능이야. 

  • 설명:
    • 특정 커밋을 가리키는 고정된 "스냅샷" 같은 것.
    • 주로 버전을 표시할 때 사용해 (v1.0, v1.1 등).
    • 커밋 해시값(긴 ID)을 기억할 필요 없이 태그를 통해 특정 시점을 쉽게 참조할 수 있어.
  • 예시:
    • git tag v1.0 → 현재 커밋에 v1.0이라는 태그를 붙임.
    • git tag -a v1.0 -m "첫 번째 릴리스" → 설명을 포함한 주석 태그(Annotated Tag)를 생성.
  • 깃허브에서의 활용:
    • 깃허브에서 태그는 저장소의 Code 탭 > "Tags" 섹션에서 확인 가능해.
    • 태그를 Release와 연결해서 사용 가능.

 

2. Release (릴리스)

 

깃허브의 개념으로, 태그를 기반으로 한 "정식 배포" 같은 개념이야.

  • 설명:
    • 태그에 추가 정보를 포함해서, 소프트웨어 배포나 주요 버전을 공개하는 데 사용해.
    • 릴리스 노트를 작성해서 변경 사항, 새로운 기능, 수정된 내용 등을 기록할 수 있어.
    • 사용자는 특정 릴리스의 코드를 다운로드할 수 있어 (.zip, .tar.gz).
  • 릴리스 작성 방법:
    1. 깃허브 저장소의 Releases 탭으로 이동.
    2. "Draft a new release" 클릭.
    3. 태그 선택(또는 새 태그 생성), 제목, 설명(릴리스 노트) 작성.
    4. Publish 버튼 클릭.

 

Tag와 Release의 차이점

  Tag Release
역할 커밋에 "이름표" 붙이기 태그에 추가 정보(릴리스 노트) 제공
위치 Git/GitHub 공통 GitHub에서 제공
사용 목적 특정 시점 참조 배포 또는 공식 버전 공개
릴리스 노트 없음 있음 (변경 사항 요약 가능)
다운로드 가능 기본적으로 불가능 (추가 조치 필요) 가능 (.zip, .tar.gz 파일 자동 제공)

 

 

언제 사용하면 좋을까?

  • Tag
    • 버전 관리를 위한 체크포인트 설정.
    • 예: v1.0, v1.1, hotfix-2025-01-22.
  • Release
    • 사용자에게 프로젝트를 정식으로 배포할 때.
    • 주요 변경 사항을 공유하거나 테스트 가능한 버전을 제공하고 싶을 때.