1) 브랜치 구조
main
├── develop
│ ├── feature/AI
│ │ ├── feature/AI-login-prediction
│ │ └── feature/AI-model-training
│ ├── feature/BE
│ │ ├── feature/BE-auth-api
│ │ ├── feature/BE-payment-api
│ │ └── feature/BE-logging
│ ├── feature/FE
│ │ ├── feature/FE-login-page
│ │ ├── feature/FE-dashboard
│ │ └── feature/FE-user-profile
│ └── hotfix/login-bugfix
└── release/v1.0
2) 브랜치 상세 설명 및 관리 규칙
- **main 브랜치:** 배포 가능한 안정적인 코드만 존재. 직접 작업 금지. 배포 완료 후 PR로 Merge.
- **develop 브랜치:** 개발 통합 브랜치. 테스트 및 코드 리뷰 완료된 기능만 병합.
- **feature 브랜치:** 역할별 + 기능별 브랜치 전략 병행. 기능 완료 후 PR 요청 및 코드 리뷰.
- **release 브랜치:** 배포 준비 및 안정화 브랜치. 완료 후 `main`과 `develop`에 병합.
- **hotfix 브랜치:** 배포 이후 긴급 버그 수정 브랜치. 수정 완료 후 `main`과 `develop`에 병합
3) 브랜치 사용 예시
**1. 새로운 기능 개발 시작:**
git checkout develop
git pull origin develop
git checkout -b feature/BE-auth-api
**2. 개발 및 커밋:**
git add .
git commit -m "feat: Implement authentication API"
git push origin feature/BE-auth-api
**3. PR 생성 및 코드 리뷰:**
- GitHub에서 PR 생성 → 코드 리뷰 요청.
- 리뷰 완료 후 develop 브랜치에 Merge.
**4. Merge 완료 후 브랜치 삭제:**
git checkout develop
git pull origin develop
git branch -d feature/BE-auth-api
git push origin --delete feature/BE-auth-api
**5. 배포 준비:**
git checkout -b release/v1.0
git merge develop
git push origin release/v1.0
6**. 주의 사항:**
feature/기능요약 : 기능요약 부분을 작성할때 띄어쓰기는 - 를 이용하여 작성 ex) loginApi (X) login-api (O)
4) commit 메시지 컨벤션
<타입>: <변경 사항 요약>
| 타입 |
설명 |
| feat |
새로운 기능 추가 |
| fix |
버그 수정 |
| docs |
문서 수정 (README 변경 등) |
| style |
코드 스타일 수정 (코드 포맷팅, 세미콜론 추가 등 코드 동작 변화 X) |
| refactor |
코드 리팩토링 (동작 변화 없음) |
| test |
테스트 코드 추가 및 수정 |
| chore |
기타 변경사항 (빌드 설정, 패키지 관리 등) |
feat: 회원 로그인 API 구현 (BE-100)
fix: 로그인 버그 수정 (BE-100)
docs: README 파일 업데이트 (BE-100)
style: 코드 정렬 및 주석 추가 (BE-100)
refactor: 로그인 로직 최적화 (BE-100)
test: 로그인 유닛 테스트 추가 (BE-100)
chore: 의존성 라이브러리 업데이트 (BE-100)
**주의사항:**
feat: 예시 메세지입니다. (O)
feat:예시 메세지입니다. (X)
[feat]:예시 메세지입니다. (X)