Skip to content

버전 관리 전략: Semantic Versioning ​

SemVer: MAJOR.MINOR.PATCH ​

**Semantic Versioning(SemVer)**은 가장 널리 쓰이는 버전 관리 방식입니다. MAJOR.MINOR.PATCH 세 숫자로 구성됩니다.

  • MAJOR: 호환성이 깨지는 큰 변경 (API 변경, 전면 리뉴얼 등)
  • MINOR: 호환되는 새 기능 추가
  • PATCH: 호환되는 버그 수정

예를 들어 1.5.3은 "1.0.0 이후 호환되는 기능이 5번 추가되고, 그 과정에서 버그가 3번 수정됐다"는 뜻입니다.

Pre-release: 1.0.0-alpha처럼 하이픈 뒤에 표기하며, 알파/베타/RC 같은 불안정 버전을 나타냅니다. 정식 릴리즈보다 낮은 순서로 취급됩니다. Build metadata: 1.0.0+build20240101처럼 + 뒤에 붙이며, 버전 우선순위엔 영향을 주지 않는 부가 정보입니다.

Date-based Versioning ​

버전을 숫자 대신 날짜로 표기하는 방식입니다. 예: 우분투의 20.04 LTS(2020년 4월 릴리즈). 언제 나왔는지 바로 알 수 있다는 장점이 있지만, 변경의 크기나 중요도는 알 수 없다는 단점이 있습니다.

GitHub에서의 버전 관리 ​

Git은 Tag로 버전을 관리하고, GitHub는 여기에 더해 release note 작성과 소스코드 압축 다운로드까지 지원합니다. Releases 탭에서 Create a new release를 누르고 태그를 입력한 뒤 Generate release notes를 클릭하면, 그동안의 PR 제목들을 모아 release note를 자동으로 만들어줍니다. PR 제목만 잘 적어둬도 유지보수 문서가 저절로 쌓이는 셈입니다.

출처: Codyssey-B1/B2-2