Skip to content

Git 브랜치 전략

su6net edited this page Jun 5, 2024 · 10 revisions

❓ Git Flow를 선택한 이유

  • 명확한 브랜치 구조와 릴리스 관리로 안정적이고 예측 가능한 배포가 가능합니다.
  • 복잡한 프로젝트에서도 체계적으로 관리할 수 있어 협업 시 코드 품질을 유지하기에 용이하다고 생각했습니다.

📋 브랜치 전략

%%{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
Loading
브랜치 유형 역할 규칙 설명
main 주요 브랜치 삭제 불가 - 🚀 서버 배포 브랜치
- 🔒 항상 배포 가능
- 🚫 직접 커밋 금지: Pull Request로만 병합
develop 개발 브랜치 삭제 불가 - 💻 기능 및 버그 병합 브랜치
- 🚫 직접 커밋 금지: Pull Request로만 병합
feature 기능 개발 develop에 Pull Request로 병합 후 삭제 - 🌟 새로운 기능 개발
- 🔖 형식: feature/#{이슈번호}-{추가설명(선택)}
bugfix 버그 수정 develop에 Pull Request로 병합 후 삭제 - 🐛 버그 수정 브랜치
- 🔖 형식: bugfix/#{이슈번호}-{추가설명(선택)}
hotfix 긴급 수정 main, develop 순으로 Pull Request로 병합 후 삭제 - 🚨 긴급 버그 수정
- 🔖 형식: hotfix/#{이슈번호}-{추가설명(선택)}

🔀 Git Merge 전략

Caution

develop 브랜치에서 main 브랜치로 병합할 때에는 모든 기능이 온전히 작동하는 것을 확인한 후 머지하도록 합니다.

  • feature/bugfix/hotfix → develop: Squash & Merge
  • hotfix → main: Squash & Merge
  • develop → main: Create merge commit
Clone this wiki locally