본문 바로가기
💻 하나씩 차곡차곡/Back-end

[Git/Github] 혼자서 북 치고 장구치는 Git Flow 연습하기

by 뚜루리 2025. 4. 28.
728x90
320x100
브랜치도 만들어 봤고.....PR도 해봤는데...깃 플로우를 모른다고요...? 해봄되죠.....

🧠 Git Flow란?

  • 브랜치를 무작정 만들지 않고, 정해진 규칙에 따라 체계적으로 개발하는 방법
  • 쉽게 말하면"언제 어떤 브랜치를 만들고, 언제 어디에 합칠지를 정해놓은 규칙" 

 

✨ Git Flow 브랜치 종류

브랜치 이름 용도
master 실제 배포용 (항상 안정된 상태)
develop 개발을 모아두는 브랜치 (feature 브랜치 통합)
feature/기능명 새로운 기능 개발할 때 쓰는 브랜치
release/버전명 출시 준비할 때 쓰는 브랜치
hotfix/버그명 긴급하게 버그 수정할 때 쓰는 브랜치

 


이번 실습 역시 브랜치 생성, 병합을 할줄 알아야 함. 

모른다면 아래 포스팅 반드시 참고할 것.

 

[Git/Github] 혼자서 북 치고 장구치는 Branch, Merge 연습하기

브랜치 만들어보고 병합하는 걸 사용 안해봤다면...? 해보면 되지..... 🧠 브랜치(Branch)란?브랜치는 코드를 따로 실험하거나 개발하기 위한 독립된 작업 공간원래 코드(main/master)를 망치지 않고

ddururiiiiiii.tistory.com

 


 

1단계 : master 브랜치로 이동하고 최신화

git checkout master
  • master(배포용 브랜치)로 이동.
git pull origin master
  • GitHub 원격 저장소에서 최신 master를 가져옴.

 


2단계 : develop 브랜치 만들기

git checkout -b develop
 
  • master 기준으로 develop 브랜치를 새로 만들고 이동.
git push origin develop
  • GitHub에도 develop 브랜치를 올려서 관리 시작.

 


3단계 : feature 브랜치 만들기 (기능 개발 시작)

git checkout -b feature/login develop
 
  • develop 브랜치를 기준으로 feature 브랜치(feature/login)를 새로 만들어 이동.
  • 기능 단위로 브랜치를 따기.

변경사항 Git에 추가하고 커밋:

git add readme.md
git commit -m "feat: 로그인 기능 개발"
 
  • feat:는 기능 추가 커밋 prefix

 


4단계 : feature 브랜치 작업 끝나면 develop로 병합

git checkout develop
 
  • feature 브랜치 작업을 develop 브랜치에 합치려면, 합쳐질 쪽(develop)으로 이동
git merge feature/login
 
  • feature 브랜치 작업 내용을 develop에 병합한다.

 


 

5단계 : release 브랜치 만들기 (배포 준비)

git checkout -b release/1.0.0 develop
  • develop 브랜치를 기준으로 release 브랜치 생성.
  • 배포 직전, 최종 점검용 브랜치!
  • (필요하면 여기서 버그 수정이나 문구 다듬기 등 수정 작업 해도 됨.

변경사항이 있으면:

git add .
git commit -m "chore: 릴리즈 준비 완료"
 
  • chore:는 잡다한 수정(릴리즈 준비 등) 커밋 prefix

 


6단계 : release 브랜치를 master로 병합 (배포)

git checkout master
  • 배포할 브랜치(master)로 이동
git merge release/1.0.0
 
  • release 브랜치 내용을 master로 병합 (실제 배포)
git push origin master
 
  • GitHub에 master 브랜치 최신 상태 반영

 


7단계 : release 브랜치를 develop로도 병합 (동기화)

git checkout develop
git merge release/1.0.0
git push origin develop
  • release 단계에서 수정한 내용들을 develop 브랜치에도 반영.
  • develop 브랜치를 최신 상태로 유지!

 


요약: Git Flow 실습 명령어 흐름

git checkout master
git pull origin master
git checkout -b develop
git push origin develop

git checkout -b feature/login develop
(파일 수정)
git add .
git commit -m "feat: 로그인 기능 개발"

git checkout develop
git merge feature/login

git checkout -b release/1.0.0 develop
(필요시 수정)
git add .
git commit -m "chore: 릴리즈 준비 완료"

git checkout master
git merge release/1.0.0
git push origin master

git checkout develop
git merge release/1.0.0
git push origin develop
728x90
320x100