-
Notifications
You must be signed in to change notification settings - Fork 1
Git 브랜치 전략
su6net edited this page Jun 5, 2024
·
10 revisions
- 명확한 브랜치 구조와 릴리스 관리로 안정적이고 예측 가능한 배포가 가능합니다.
- 복잡한 프로젝트에서도 체계적으로 관리할 수 있어 협업 시 코드 품질을 유지하기에 용이하다고 생각했습니다.
%%{init: { 'theme': 'base', 'gitGraph': {'showBranches': true, 'showCommitLabel': false } } }%%
gitGraph
commit
branch develop order: 2
commit
commit
checkout main
merge develop
branch hotfix order: 1
commit
checkout main
merge hotfix
checkout develop
merge hotfix
branch feature order: 3
commit
commit
commit
checkout develop
merge feature
checkout main
checkout develop
branch bugfix order: 4
commit
checkout develop
merge bugfix
checkout main
merge develop
브랜치 유형 | 역할 | 규칙 | 설명 |
---|---|---|---|
main | 주요 브랜치 | 삭제 불가 | - 🚀 서버 배포 브랜치 - 🔒 항상 배포 가능 - 🚫 직접 커밋 금지: Pull Request로만 병합 |
develop | 개발 브랜치 | 삭제 불가 | - 💻 기능 및 버그 병합 브랜치 - 🚫 직접 커밋 금지: Pull Request로만 병합 |
feature | 기능 개발 | develop에 Pull Request로 병합 후 삭제 | - 🌟 새로운 기능 개발 - 🔖 형식: feature/#{이슈번호}-{추가설명(선택)}
|
bugfix | 버그 수정 | develop에 Pull Request로 병합 후 삭제 | - 🐛 버그 수정 브랜치 - 🔖 형식: bugfix/#{이슈번호}-{추가설명(선택)}
|
hotfix | 긴급 수정 | main, develop 순으로 Pull Request로 병합 후 삭제 | - 🚨 긴급 버그 수정 - 🔖 형식: hotfix/#{이슈번호}-{추가설명(선택)}
|
Caution
develop 브랜치에서 main 브랜치로 병합할 때에는 모든 기능이 온전히 작동하는 것을 확인한 후 머지하도록 합니다.
- feature/bugfix/hotfix → develop: Squash & Merge
- hotfix → main: Squash & Merge
- develop → main: Create merge commit