main (프로덕션)
└── dev (개발 통합)
├── feat/기능명
├── fix/버그명
└── refactor/대상
| 브랜치 | 용도 | 병합 대상 |
|---|---|---|
main |
프로덕션 배포 브랜치 | - |
dev |
개발 통합 브랜치 | main |
feat/* |
새로운 기능 개발 | dev |
fix/* |
버그 수정 | dev |
refactor/* |
코드 리팩토링 | dev |
hotfix/* |
긴급 버그 수정 | main, dev |
-
dev브랜치에서 새 브랜치 생성git checkout dev git pull origin dev git checkout -b feat/기능명
-
작업 완료 후 PR 생성
feat/*→devPR 생성- CI 통과 확인 후 머지
-
배포
dev→mainPR 생성- 머지 시 자동 배포 (CD)
<type>: <subject>
[body]
| Type | 설명 | 예시 |
|---|---|---|
feat |
새로운 기능 추가 | feat: 카카오 로그인 구현 |
fix |
버그 수정 | fix: JWT 토큰 만료 처리 오류 수정 |
refactor |
코드 리팩토링 | refactor: UserService 메서드 분리 |
docs |
문서 수정 | docs: API 문서 업데이트 |
style |
코드 포맷팅, 세미콜론 등 | style: 코드 포맷팅 적용 |
test |
테스트 코드 | test: UserService 단위 테스트 추가 |
chore |
빌드, 설정 파일 변경 | chore: Gradle 의존성 업데이트 |
- 제목은 50자 이내
- 제목은 명령문으로 작성 (ex: "추가한다" X, "추가" O)
- 제목 끝에 마침표 X
- 본문은 선택사항 (필요시 작성)
feat: 다이어리 작성 API 구현
- POST /diaries 엔드포인트 추가
- 이미지 업로드 기능 포함
- 감정 분석 연동
[Type] 작업 내용 요약
예시: [Feat] 카카오 로그인 구현
- 코드가 정상적으로 동작하는지 확인
- 불필요한 코드/주석 제거
- CI 통과 확인