결론:
"주.부.수"(Major.Minor.Patch) (예시: v1.2.1 )
- Major(주 버전): 모든 게 바뀌었음.
- Minor(부 버전): 기능 추가.
- Patch(수 버전): 버그 수정.
1. 버전 관리란 무엇인가?
소프트웨어나 문서를 업데이트할 때, 우리는 종종 "v2", "v2.1", "v2.12"와 같은 버전 번호를 보게 됩니다. 이 숫자는 단순히 수정된 횟수를 나타내는 것이 아닙니다.
사실, 버전 번호에는 체계적이고 논리적인 규칙이 존재하며, 이를 통해 변경의 성격과 규모를 알 수 있습니다.
이러한 방식 중 가장 널리 사용되는 것이 Semantic Versioning입니다.
이 글에서는 버전 번호를 어떻게 나누고, 어떤 기준으로 변경하는지 쉽게 설명해드리겠습니다.
2. 버전 번호의 구성
버전 번호는 일반적으로 "주.부.수"(Major.Minor.Patch) 형태로 표시됩니다.
1) 예시: "v1.2.3" 일 경우
- 1 (Major): 주 버전
- 2 (Minor): 부 버전
- 3 (Patch): 수 버전
2) 각 숫자의 의미와 변화 기준
1. 주 버전 (Major)
주 버전은 크고 근본적인 변화가 있을 때 증가합니다.
주로 다음과 같은 경우에 사용됩니다:
- 기존 버전과 호환되지 않는 큰 변화가 있을 때.
- 기존 구조나 API를 대대적으로 변경할 때.
예: v1.0.0 → v2.0.0
- Windows 7에서 Windows 10으로 업그레이드된 경우와 같이 큰 변화를 의미.
2. 부 버전 (Minor)
부 버전은 새로운 기능이 추가되었지만, 기존 버전과의 호환성은 유지되는 경우에 증가합니다.
이 버전에서 기존 사용자는 문제없이 업데이트할 수 있습니다.
예: v1.1.0 → v1.2.0
3. 수 버전 (Patch)
수 버전은 작은 수정이나 버그 패치가 있을 때 증가합니다.
이 수정은 기능의 변화 없이 안정성을 높이는 데 초점이 맞춰져 있습니다.
예: v1.2.0 → v1.2.1
- 문서에서 오타를 수정하거나, 소프트웨어의 버그를 해결한 경우.
3. Semantic Versioning의 주요 원칙
1) 버전 번호는 항상 증가해야 합니다.
한 번 배포된 버전의 내용을 변경해서는 안 되며, 수정이 필요하다면 반드시 새로운 버전으로 배포해야 합니다.
2) 변경사항에 따라 적절한 번호를 올려야 합니다.
- Major: 하위 호환이 깨질 때.
- Minor: 하위 호환을 유지하면서 새로운 기능이 추가될 때.
- Patch: 기존 기능의 작은 수정이나 버그가 수정될 때.
3) 버전 번호는 0부터 시작하지 않습니다.
각 숫자는 자연수로만 구성되며, "v0.x.x"는 초기 개발 단계(알파/베타 버전)를 나타냅니다.
4. 실제 사례로 살펴보기
1. 앵그리 버드의 버전 관리
앱스토어에서 v5.0.2과 같은 형식으로 표기됩니다:
- 5 (Major): 대규모 변화가 있었음.
- 0 (Minor): 새로운 기능은 없고 기존 틀 유지.
- 2 (Patch): 자잘한 버그 수정.
2. 기획서 예시
- v1.0.0 → v2.0.0 (Major)
기획서의 방향성이 대폭 바뀌었을 때. - v1.1.0 → v1.2.0 (Minor)
새로운 기능 아이디어가 추가된 기획서. - v1.1.0 → v1.1.1 (Patch)
기획서의 오타를 수정했을 때.
5. 문서 버전 관리 예시
1) 기획서
- v1.0.0: 초기 기획안 작성 완료
기획서의 큰 틀이 완성된 상태로, 기본적인 골격과 방향성이 명확히 정리되었음. - v1.1.0: 주요 내용 추가
추가 기능(예: 신규 서비스 아이디어)이 포함되었지만, 기존 방향성은 유지. - v1.1.1: 세부 오류 수정
오타, 누락된 문장, 형식 오류 등을 수정. - v2.0.0: 기획 변경
기존 기획 방향을 폐기하고 새로운 프로젝트 방향으로 대폭 변경.
2) 보고서
- v0.1.0: 초안 작성
초안 단계로, 전체 구조와 목차만 작성된 상태. - v0.2.0: 내용 추가
데이터 분석 결과나 조사 내용을 추가했지만, 초안의 큰 틀은 유지. - v1.0.0: 최종 보고서
모든 내용이 완성된 상태로, 검토를 마치고 배포 가능. - v1.0.1: 배포 후 자잘한 수정
표기 오류, 오타 수정, 그래프 색상 변경 등 사소한 변경. - v1.1.0: 부록 추가
새로운 데이터 표나 참고 문헌을 부록으로 추가.
3) 사용 매뉴얼
- v1.0.0: 초기 매뉴얼 작성
소프트웨어 또는 제품 사용에 대한 기본 가이드라인 완성. - v1.0.1: 오류 수정
설명 문구의 오타나 잘못된 그림 교체. - v1.1.0: 기능 추가 설명
소프트웨어 업데이트로 추가된 기능에 대한 설명 추가. - v2.0.0: 대규모 리뉴얼
제품이나 소프트웨어가 대폭 변경되어 매뉴얼을 처음부터 다시 작성.
4) 프로젝트 제안서
- v0.1.0: 초안 작성
제안서의 큰 구조만 잡아두고, 아이디어를 나열한 상태. - v0.2.0: 내용 보강
필요한 데이터와 상세 계획을 포함한 상태. - v1.0.0: 제출용 버전
내부 검토 후 클라이언트 또는 내부에 제출할 최종 버전. - v1.0.1: 피드백 반영
클라이언트 피드백에 따라 문구를 수정하거나 데이터를 보강. - v2.0.0: 새로운 프로젝트 방향으로 수정
제안 방향이 대폭 변경되었을 경우.
6. 업무상황에서 실제 관리 방안
1) 파일 이름에 버전 표시
문서 이름에 버전 정보를 포함하여 관리하는 것이 가장 기본적입니다.
- 예시:
- 기획서_v1.0.0.docx
- 사용매뉴얼_v1.1.0.pdf
2) 버전 관리 체크리스트
- 버전 규칙 정의: 팀 내에서 Major, Minor, Patch의 적용 기준을 명확히 정함.
- 주기적 업데이트 기록: 문서가 수정될 때마다 이유와 변경 내용을 기록.
- 변경 내용 공유: 수정된 문서를 공유할 때 반드시 변경점을 설명.
참고로 위의 글을 요약하면 아래와 같습니다.
< 버전 관리 요약표 >
구분 | 버전 형식 | 변경 예시 | 의미 및 적용 상황 |
일반 규칙 | N/A | - | - 번호는 자연수로만 구성, 0으로 시작하지 않음 |
- 각 숫자는 반드시 증가해야 함 | |||
- 수정 후 새로운 버전으로 배포 | |||
문서 관리 규칙 | vX.Y.Z | v1.0.0 → v1.0.1 | - Major: 문서 구조 대폭 변경 |
- Minor: 내용 추가, 새로운 섹션 생성 | |||
- Patch: 오타 및 소소한 내용 수정 | |||
Semantic Versioning | Major.Minor.Patch | 3.4.2 (예시) | - MAJOR: API 변경 또는 호환 불가 변경 |
- MINOR: 하위 호환 가능한 기능 추가 | |||
- PATCH: 버그 수정 및 소소한 업데이트 | |||
Major | vX.Y.Z | v1.0.0 → v2.0.0 | - 대규모 변경 또는 기존 버전과 호환되지 않는 변화 |
- 구조적, 기능적 전면 개편 | |||
- 예: 새로운 운영 체제로 업그레이드 | |||
Minor | vX.Y.Z | v1.0.0 → v1.1.0 | - 새로운 기능 추가 또는 기존 기능의 개선 |
- 기존 내용과 하위 호환 가능 | |||
- 예: 애플리케이션에 검색 기능 추가 | |||
Patch | vX.Y.Z | v1.0.0 → v1.0.1 | - 작은 오류 수정, 오타 수정, 누락 사항 추가 등 |
- 기존 구조와 호환되며 기능에는 큰 변화 없음 |
참고 글)
[일상정보] - 티스토리 글 발행시 [공개/공개(보호)/비공개]의 차이점
티스토리 글 발행시 [공개/공개(보호)/비공개]의 차이점
티스토리 글 발행시 아래와 같이 [공개/공개(보호)/비공개] 3가지의 버전이 있다. '공개' 와 '비공개'는 대충 느낌상 구분이 가는데 '공개(보호)'?? 는 뭘까?? 차이는 아래와 같다. 공개: 누구나 볼수
a-story804.tistory.com
[일상정보] - 프로그램개발 등에서 프로토타입(Prototype), 파일럿 버전(Pilot Version), 완성 버전(Full Version)의 개념과 차이점
프로그램개발 등에서 프로토타입(Prototype), 파일럿 버전(Pilot Version), 완성 버전(Full Version)의 개념
1. 프로토타입(Prototype)- 정의: 프로토타입은 제품 또는 시스템 개발 과정에서 최초로 만들어지는 시제품을 의미합니다. 이 단계에서는 주요 기능과 개념을 시각적으로 확인하거나, 기본적인 작
a-story804.tistory.com
[컴퓨터.SW] - ChatGPT 모델 비교: o1-preview, o1-mini, GPT-4o 중 어떤 모델이 나에게 적합할까?
ChatGPT 모델 비교: o1-preview, o1-mini, GPT-4o 중 어떤 모델이 나에게 적합할까?
ChatGPT의 o1-preview 모델, o1-mini 모델, 그리고 GPT-4o는 각기 다른 특징과 용도로 설계된 모델들로, 주로 성능, 비용, 응답의 깊이 및 속도에서 차이를 보입니다. 아래에 각 모델의 차이점을 설명합니
a-story804.tistory.com
'컴퓨터.SW' 카테고리의 다른 글
PC 스탑워치 프로그램(1Time) 다운로드, 이용방법 (0) | 2025.01.06 |
---|---|
[Excel] 엑셀의 특정 셀을 보호(잠금)해서 내용 수정 금지하기 (0) | 2025.01.06 |
[Chrome] 구글 크롬 검색결과를 새 탭에서 열기 방법 (1) | 2024.12.16 |
PowerPoint에서 글씨나 내용은 그대로 두고 배경이나 템플릿만 변경하는 방법 (0) | 2024.12.09 |
[Excel] 주말 제외한 영업일 계산법: NETWORKDAYS 함수 활용법 (2) | 2024.12.02 |