커밋 메시지, 브랜치 전략, PR/이슈 규칙을 다룬다. (언어·프레임워크 무관)
일반 커밋
type: 제목
PR Squash Merge 커밋
type: 제목 - #PR번호
- type: 변경 성격 접두사 (아래 표)
- 제목: 한글, 명사형/동사 종결형, 마침표 없음
- PR번호: Squash Merge 커밋에만 붙인다
- 커밋 메시지는 제목 한 줄을 기본으로 한다. 배경 설명이 필요하면 빈 줄 뒤에 본문을 덧붙인다.
- AI 도구가 남기는 트레일러를 넣지 않는다.
Co-Authored-By: Claude ...,Claude-Session: ...,Generated with ...같은 줄은 커밋 메시지·PR 본문 어디에도 추가하지 않는다. - 커밋 작성자는 실제 작업자 본인이다. AI 에이전트를 공동 작성자로 표기하지 않는다.
| type | 설명 |
|---|---|
feat |
새로운 기능 추가 |
fix |
버그 수정 |
refactor |
기능 변경 없는 코드 개선 |
docs |
문서 추가·수정 |
test |
테스트 코드 추가·수정 |
chore |
빌드 설정, 의존성, 기타 잡무 |
init |
프로젝트·모듈 초기 세팅 |
feat: 사물함 신청 페이지 추가
fix: 대여 반납일 검증 누락 수정
refactor: RentalForm 컴포넌트 상태 분리
docs: 아키텍처 컨벤션 문서 추가
chore: vite 버전 업그레이드
feat: 사물함 신청 페이지 추가 - #12
{type}/#{이슈번호}-{작업내용}
- type: 커밋 type과 동일
- 이슈번호:
#을 붙인다 - 작업내용: 영문 소문자·하이픈(
-)만
| 브랜치 | 설명 |
|---|---|
main |
배포 기준 브랜치 |
feat/#{이슈번호}-{작업내용} |
기능 개발 |
fix/#{이슈번호}-{작업내용} |
버그 수정 |
refactor/#{이슈번호}-{작업내용} |
리팩토링 |
docs/#{이슈번호}-{작업내용} |
문서 작업 |
chore/#{이슈번호}-{작업내용} |
빌드·설정 변경 |
feat/#12-locker-application
fix/#34-rental-return-date
refactor/#7-rental-form
docs/#5-git-convention
[{Type}/#{이슈번호}] {설명}
- Type: 커밋 type 첫 글자 대문자 (
Feat,Fix,Refactor,Docs,Test,Chore,Init) - 이슈번호: 반드시 포함
- 설명: 한글로 간략히
[Feat/#12] 사물함 신청 페이지 추가
[Fix/#34] 대여 반납일 검증 누락 수정
Squash Merge 시 커밋 메시지에 - #PR번호를 추가한다.
.github/pull_request_template.md를 사용한다. 연관 이슈 연결, 작업 내용, 리뷰 요구사항을 기술한다.
Squash and Merge를 기본으로 사용한다.
main에 직접 push하지 않는다.- PR은 최소 1명 리뷰 승인 후 Merge한다.
- CI 필수 체크가 통과해야 Merge할 수 있다.
- Merge 후 작업 브랜치는 삭제한다.
.github/ISSUE_TEMPLATE/issue-template.md를 사용한다. 구현 내용을 체크리스트로 작성하고 참고 자료를 첨부한다.
이슈 생성 → 브랜치 생성 (이슈번호 포함) → 작업·커밋 → PR 생성 (이슈 연결) → 리뷰 → Merge → 브랜치 삭제