-
Notifications
You must be signed in to change notification settings - Fork 2
Versioning & Git Convention
Kyeoungwoon Park edited this page Mar 25, 2026
·
1 revision
Semantic Versioning을 사용합니다.
현재 v0.1.0으로 시작하고, 정식 출시로 전환하면서 v1.0.0으로 변경합니다.
추후 프로덕트 팀의 기수가 변동하더라도 v2로 넘어가는 것이 아닌 변경사항을 기준으로 움직입니다.
처음 들어보신다면 (영어) https://semver.org/ (나무위키) https://namu.wiki/w/시맨틱 버전
| 구분 | 형식 위치 | 변경 시점 | 하위 호환성 | 초기화 영향 |
|---|---|---|---|---|
| Major | X.y.z | API 삭제 및 변경 (Breaking Change) | ❌ 불가능 | Minor, Patch = 0 |
| Minor | x.Y.z | 기능 추가 (Feature) | ✅ 가능 | Patch = 0 |
| Patch | x.y.Z | 버그 수정 (Bug Fix) | ✅ 가능 | 없음 |
알잘딱깔센 해주세요.
Git Flow와 GitHub Flow를 혼용하여 활용합니다.
뭔지 모르겠다면? 우형에서 작성한 훌룡한 기술 블로그를 읽어보시면 됩니다.
| 카테고리 | 명명 규칙 | 예시 | 설명 (Description) |
|---|---|---|---|
| main | main |
X |
배포 가능한 상태의 정식 버전 코드입니다. 기준이 되는 브랜치이며 직접 수정하지 않습니다. |
| develop | develop |
X |
다음 버전을 개발하는 브랜치입니다. 모든 기능(Feature)들이 이 브랜치로 병합됩니다. |
| feature | feature/이슈명 |
feature/#14 |
새로운 기능을 개발할 때 사용합니다. develop에서 분기하여 작업 후 다시 develop으로 병합합니다. |
| hotfix | hotfix/이슈명 |
hotfix/#14 |
배포 중인 버전의 긴급 버그 수정을 위함입니다.main에서 분기하여 (가능하다면 develop) 수정 후 main과 develop으로 즉시 병합합니다. |
main 브랜치는 3-Way Merge를 사용하고, develop 브랜치는 Squash Merge를 사용합니다.
이는 깔끔한 Git History 관리를 위함이므로 반드시 준수해주세요. (Repository Ruleset에 지정되어 있어서 어길 수 없습니다.)
prefix: title 의 형태로, prefix 뒤에 : 를 띄어쓰기 없이 붙여쓴 이후 “한 칸 띄고” title을 작성해주세요.
각 요소에 대한 설명은 아래와 같습니다.
모두 소문자로 작성해주세요. e.g.
featchorefix
| Prefix | 설명 (Description) | 사용 예시 |
|---|---|---|
feat |
새로운 기능 추가 | feat: 사용자 로그인 API 구현 |
fix |
버그 수정 | fix: 결제 페이지 404 에러 수정 |
docs |
문서 수정 (README, Wiki 등) | docs: API 명세서 업데이트 |
style |
코드 포맷팅, 세미콜론 누락 등 (로직 변경 없음) | style: 메인 페이지 코드 포맷팅 적용 |
refactor |
코드 리팩토링 (기능 변경 없이 구조 개선) | refactor: 중복되는 유틸 함수 통합 |
test |
테스트 코드 추가, 수정, 삭제 | test: 회원가입 서비스 테스트 코드 추가 |
chore |
빌드 업무, 패키지 매니저 설정 등 (프로덕션 코드 변경 없음) | chore: 패키지 버전 업그레이드 |
design |
CSS 등 사용자 UI 디자인 변경 | design: 메인 배너 색상 변경 |
perf |
성능 개선 | perf: 이미지 로딩 속도 개선 |
rename |
파일 혹은 폴더명 수정하거나 옮기는 경우 | rename: user.js를 user.ts로 변경 |
remove |
파일을 삭제하는 작업만 수행하는 경우 | remove: 사용하지 않는 이미지 파일 삭제 |
간략하고 명료하게 해당 커밋에서 어떤 작업을 수행하였는지 설명해주세요.
필수 항목은 아닙니다만, 본인이 해당 커밋에서 어떠한 작업을 했는지 공유할 필요성이 있다고 판단되는 경우 작성해주시면 됩니다.
단, Commit Body에만 작성하시면 안되고 PR 본문에도 반드시 포함해주셔야 합니다.
- ✅
feat: 기능 추가 - ❌
feat:기능 추가(띄어쓰기 없음) - ❌
Feat: 기능 추가(대문자 사용)
- 프로덕트팀 소개
- 만든 이
- 기수 별 인원 소게
- 역할 및 도메인 분담
- 코드 컨벤션 & 스타일
- 브랜치 전략
- PR/Issue 작성 가이드
- PR Review 가이드
- 기술 스택 정리
- 시스템 아키텍처