🚀 Git Flow 브랜치 전략 초기 셋팅 가이드(1-1)

2025. 4. 24. 12:42·기술블로그-Flask편

🚀 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 브랜치 작업 방법

새로운 기능 개발 시 사용하는 브랜치

  1. 항상 develop 브랜치에서 시작! (첫시작일때 -b 를 통해 생성)
  2. 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로 병합하는 게 좋아요!
  • 팀원들이 코드 리뷰하고 안전하게 합칠 수 있어요.

순서:

  1. GitHub 들어가서 ➡️ Compare & pull request 클릭
  2. Base 브랜치: develop
    Compare 브랜치: feature/routes
  3. 병합(Merge) 버튼 클릭!

🔹 4️⃣ release 브랜치 사용법

배포 준비할 때 사용하는 브랜치 (기능 개발 끝난 후!)

  1. develop에서 분기:
git checkout develop
git pull
git checkout -b release/v1.0.0
  1. 배포 전 버그 수정 등 마무리 작업
  2. 완료되면:
git checkout main
git merge release/v1.0.0
git push origin main
  1. 다시 develop에도 병합:
git checkout develop
git merge release/v1.0.0
git push origin develop

🔹 5️⃣ hotfix 브랜치 사용법

배포된 버전(main)에서 긴급 수정이 필요할 때!

  1. main에서 분기:
git checkout main
git pull
git checkout -b hotfix/issue-001
  1. 수정 작업 후:
git add .
git commit -m "fix: 긴급 수정 내용"
git push origin hotfix/issue-001
  1. 병합:
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 못하게 막을 수 있어요!
  1. GitHub 레포 → Settings → Branches
  2. 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)에서 문제가 생겼을 때 즉시 생성!
  • 미리 만들어두면 오히려 헷갈리고, 쓸모없는 브랜치가 됩니다.

'기술블로그-Flask편' 카테고리의 다른 글

🚀 Flask 프로젝트에서 ORM과 CRUD 구현하기 (SQLAlchemy 활용)1-3  (0) 2025.04.24
🚀 Flask 프로젝트에서 routes.py와 services의 역할 이해하기(1-2)  (0) 2025.04.24
Flask-Login 을 활용한 간단한 로그인 프로젝트  (0) 2025.04.23
Flask 문의 내역 이메일 발송 시스템 구현 with 파머  (0) 2025.04.23
📌 SMTP,프로토콜,통신 규약 이란?  (0) 2025.04.23
'기술블로그-Flask편' 카테고리의 다른 글
  • 🚀 Flask 프로젝트에서 ORM과 CRUD 구현하기 (SQLAlchemy 활용)1-3
  • 🚀 Flask 프로젝트에서 routes.py와 services의 역할 이해하기(1-2)
  • Flask-Login 을 활용한 간단한 로그인 프로젝트
  • Flask 문의 내역 이메일 발송 시스템 구현 with 파머
Chansman
Chansman
안녕하세요! 코딩을 시작한 지 얼마 되지 않은 초보 개발자 찬스맨입니다. 이 블로그는 제 학습 기록을 남기고, 다양한 코딩 실습을 통해 성장하는 과정을 공유하려고 합니다. 초보자의 눈높이에 맞춘 실습과 팁, 그리고 개발하면서 겪은 어려움과 해결 과정을 솔직하게 풀어내려 합니다. 함께 성장하는 개발자 커뮤니티가 되기를 바랍니다.
  • Chansman
    찬스맨의 프로그래밍 스토리
    Chansman
  • 전체
    오늘
    어제
    • 분류 전체보기 (717) N
      • Python (32)
      • 프로젝트 (55) N
      • 과제 (25)
      • Database (40)
      • 멘토링 (11)
      • 특강 (37)
      • 기술블로그 (41) N
      • 기술블로그-Fastapi편 (33)
      • 기술블로그-Django편 (153)
      • 기술블로그-Flask편 (36)
      • AI 분석 (5) N
      • HTML & CSS (31)
      • JavaScript (17)
      • AWS_Cloud (21)
      • 웹스크래핑과 데이터 수집 (14)
      • Flask (42)
      • Django (77)
      • Fastapi (16)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Chansman
🚀 Git Flow 브랜치 전략 초기 셋팅 가이드(1-1)
상단으로

티스토리툴바