-
Notifications
You must be signed in to change notification settings - Fork 0
Git Flow
JinmuGo edited this page Jul 29, 2026
·
2 revisions
우리 팀은 GitHub Flow 기반 develop 브랜치를 추가한 커스텀 전략을 사용합니다.
main ─────●──────────────●──────▶ (배포 / 프로덕션)
↑ ↑
develop ─●───●───●───●──●───┘ (개발 통합)
↑ ↑ ↑
feature ─┘ ─────┘ (기능 개발)
| 브랜치 | 역할 | 수명 |
|---|---|---|
main |
배포용 브랜치. 항상 배포 가능한 상태를 유지 | 영구 |
develop |
개발 통합 브랜치. 모든 기능이 여기에 모임 | 영구 |
{type}/기능명 |
개별 작업 브랜치 (아래 타입 표 참고) | 작업 완료 후 삭제 |
브랜치 prefix는 Commit Convention의 커밋 타입과 맞춰서 사용합니다.
| Prefix | 용도 | 예시 |
|---|---|---|
feature/ |
새로운 기능 개발 | feature/login-api |
fix/ |
개발 중 버그 수정 | fix/token-expiration |
refactor/ |
리팩토링 (기능 변경 없음) | refactor/user-service |
docs/ |
문서 작업 | docs/api-guide |
test/ |
테스트 추가/수정 | test/user-service |
perf/ |
성능 개선 | perf/query-optimization |
chore/ |
설정, 의존성 등 잡무 | chore/update-deps |
hotfix/ |
프로덕션 긴급 수정 (main에서 분기) |
hotfix/payment-error |
기능명은
kebab-case로 작성합니다. (예:feature/social-login)
# develop 최신화
git checkout develop
git pull origin develop
# feature 브랜치 생성
git checkout -b feature/login-api
# 작업 & 커밋
git commit -m "feat: add login endpoint"-
{type}/기능명→develop로 PR 생성 - 최소 1명 이상의 approve 필요
- Squash and merge 로 머지
- 머지 후 작업 브랜치 삭제
-
develop→main으로 PR 생성 - 리뷰 후 머지하면 배포
| 항목 | 규칙 |
|---|---|
| 브랜치 네이밍 |
{type}/기능명 (kebab-case, 타입 표 참고) |
| PR 대상 | 작업 브랜치: develop / 배포: main
|
| 머지 방식 | Squash and merge |
| 리뷰 | 최소 1명 approve |
| 머지 후 | 작업 브랜치 삭제 |
⚠️ 이 섹션은 팀 논의가 필요한 제안 사항입니다.
-
main에서hotfix/이슈명브랜치 분기 - 수정 후
main으로 PR → 머지 (즉시 배포) - 동일한 변경을
develop에도 백머지하여 동기화