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)