Skip to content

Versioning & Git Convention

Kyeoungwoon Park edited this page Mar 25, 2026 · 1 revision

Versioning Convention

개요

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) ✅ 가능 없음

알잘딱깔센 해주세요.

Branch Convention

개요

Git Flow와 GitHub Flow를 혼용하여 활용합니다.

뭔지 모르겠다면? 우형에서 작성한 훌룡한 기술 블로그를 읽어보시면 됩니다.

Branch 카테고리별 설명

카테고리 명명 규칙 예시 설명 (Description)
main main X 배포 가능한 상태의 정식 버전 코드입니다.

기준이 되는 브랜치이며 직접 수정하지 않습니다.
develop develop X 다음 버전을 개발하는 브랜치입니다.

모든 기능(Feature)들이 이 브랜치로 병합됩니다.
feature feature/이슈명 feature/#14 새로운 기능을 개발할 때 사용합니다.

develop에서 분기하여 작업 후 다시 develop으로 병합합니다.
hotfix hotfix/이슈명 hotfix/#14 배포 중인 버전의 긴급 버그 수정을 위함입니다.

main에서 분기하여 (가능하다면 develop) 수정 후 maindevelop으로 즉시 병합합니다.

❗중요: Squash Merge 사용

main 브랜치는 3-Way Merge를 사용하고, develop 브랜치는 Squash Merge를 사용합니다. 이는 깔끔한 Git History 관리를 위함이므로 반드시 준수해주세요. (Repository Ruleset에 지정되어 있어서 어길 수 없습니다.)

Commit Convention

개요

prefix: title 의 형태로, prefix 뒤에 : 를 띄어쓰기 없이 붙여쓴 이후 “한 칸 띄고” title을 작성해주세요.

각 요소에 대한 설명은 아래와 같습니다.

Prefix

모두 소문자로 작성해주세요. e.g. feat chore fix

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: 사용하지 않는 이미지 파일 삭제

Title

간략하고 명료하게 해당 커밋에서 어떤 작업을 수행하였는지 설명해주세요.

Body

필수 항목은 아닙니다만, 본인이 해당 커밋에서 어떠한 작업을 했는지 공유할 필요성이 있다고 판단되는 경우 작성해주시면 됩니다.

단, Commit Body에만 작성하시면 안되고 PR 본문에도 반드시 포함해주셔야 합니다.

예시로 살펴보기

  • feat: 기능 추가
  • feat:기능 추가 (띄어쓰기 없음)
  • Feat: 기능 추가 (대문자 사용)

📌 프로젝트 개요

  • 프로덕트팀 소개
  • 만든 이
  • 기수 별 인원 소게

🧾 팀 운영

  • 역할 및 도메인 분담
  • 코드 컨벤션 & 스타일
  • 브랜치 전략
  • PR/Issue 작성 가이드
  • PR Review 가이드

⚙️ 기술 구조

  • 기술 스택 정리
  • 시스템 아키텍처

Clone this wiki locally