기술블로그-Flask편
🚀 Git Flow 브랜치 전략 초기 셋팅 가이드(1-1)
Chansman
2025. 4. 24. 12:42
🚀 Git Flow 브랜치 전략 초기 셋팅 가이드
목표: main, develop, feature, release, hotfix 브랜치 체계 구축!
✅ Step 1. 기본 브랜치 만들기
1️⃣ main 브랜치
- GitHub 레포를 생성하면 기본으로 main 브랜치가 있어요.
- 이건 그대로 두면 됩니다! (배포용 브랜치)
2️⃣ develop 브랜치 생성
모든 개발의 중심 브랜치!
git checkout -b develop
git push origin develop
- GitHub에 가보면 이제 main과 develop 브랜치가 생겼을 거예요.
✅ Step 2. 브랜치 전략에 따라 작업하기
🔹 3️⃣ feature 브랜치 작업 방법
새로운 기능 개발 시 사용하는 브랜치
- 항상 develop 브랜치에서 시작! (첫시작일때 -b 를 통해 생성)
- git checkout 브랜치 이동 + 파일 체크아웃 + 브랜치 생성 등에만사용
git checkout develop
git pull # 최신 코드 가져오기
git checkout -b feature/기능명
2. 중간에 다시 브랜치 이동하는방법 ( merge전):
git switch feature/routes
git branch # 모든 브랜치 확인
2.작업 완료 후:
git add .
git commit -m "feat: 기능 설명"
git push origin feature/기능명
3.GitHub에서 PR(Pull Request) 생성 ➡️ develop으로 병합 요청!
병합(Merge) 방법
🔹 방법 1: GitHub에서 PR(Pull Request) 로 병합 (✅ 추천)
- 협업할 때는 무조건 PR로 병합하는 게 좋아요!
- 팀원들이 코드 리뷰하고 안전하게 합칠 수 있어요.
순서:
- GitHub 들어가서 ➡️ Compare & pull request 클릭
- Base 브랜치: develop
Compare 브랜치: feature/routes - 병합(Merge) 버튼 클릭!
🔹 4️⃣ release 브랜치 사용법
배포 준비할 때 사용하는 브랜치 (기능 개발 끝난 후!)
- develop에서 분기:
git checkout develop
git pull
git checkout -b release/v1.0.0
- 배포 전 버그 수정 등 마무리 작업
- 완료되면:
git checkout main
git merge release/v1.0.0
git push origin main
- 다시 develop에도 병합:
git checkout develop
git merge release/v1.0.0
git push origin develop
🔹 5️⃣ hotfix 브랜치 사용법
배포된 버전(main)에서 긴급 수정이 필요할 때!
- main에서 분기:
git checkout main
git pull
git checkout -b hotfix/issue-001
- 수정 작업 후:
git add .
git commit -m "fix: 긴급 수정 내용"
git push origin hotfix/issue-001
- 병합:
git checkout main
git merge hotfix/issue-001
git push origin main
git checkout develop
git merge hotfix/issue-001
git push origin develop
🚨 브랜치 생성 요약
브랜치명생성 기준용도
main | 기본 | 최종 배포본 |
develop | main | 개발 통합 |
feature/* | develop | 기능 개발 |
release/* | develop | 배포 준비 |
hotfix/* | main | 긴급 수정 |
✅ Step 3. GitHub 브랜치 보호 설정 (선택)
- main, develop 브랜치는 실수로 직접 push 못하게 막을 수 있어요!
- GitHub 레포 → Settings → Branches
- Branch protection rules 설정
- PR로만 병합 가능하게 설정 추천
🎯 정리: 초기 셋팅 순서
1️⃣ develop 브랜치 생성
2️⃣ 팀원들과 브랜치 규칙 공유
3️⃣ feature 브랜치로 기능 개발 시작
4️⃣ 배포 단계에서 release 브랜치 사용
5️⃣ 긴급 수정 시 hotfix 브랜치 활용
✅ 브랜치를 처음부터 다 만들어도 될까?
🔹 1. main & develop
👉 처음부터 반드시 만들어야 하는 브랜치!
- 이 두 개는 프로젝트 시작과 동시에 필수로 세팅!
- 협업의 중심축이 되는 브랜치이기 때문에, 초기에 무조건 있어야 해요.
🔹 2. feature 브랜치
❌ 처음부터 만들 필요 없음!
- feature 브랜치는 "필요할 때 그때그때" 만드는 게 원칙이에요.
- 이유:
- 기능마다 이름이 다 다름 (feature/models, feature/routes 등)
- 누가 어떤 작업을 할지 정해진 후 생성해야 깔끔!
- 미리 만들어두면 쓸데없는 브랜치만 늘어나서 관리가 번거로워져요.
🔹 3. release 브랜치
❌ 절대 미리 만들지 않아요!
- release 브랜치는 말 그대로 "배포 준비가 될 때" 만드는 브랜치예요.
- 아직 개발도 안 했는데 release 브랜치를 만들어두면 의미가 없어요.
- 버전명(release/v1.0.0)도 개발이 완료된 시점에 정하는 게 맞습니다.
🔹 4. hotfix 브랜치
❌ 미리 만들면 안 되는 브랜치!
- hotfix는 긴급 상황에서만 사용하는 브랜치예요.
- 배포된 코드(main)에서 문제가 생겼을 때 즉시 생성!
- 미리 만들어두면 오히려 헷갈리고, 쓸모없는 브랜치가 됩니다.