Git Flow branch 전략

kwakjihoon·2025년 1월 7일
post-thumbnail

정의

하나의 저장소에 여러 개발자가 작업을 할 때, 협업의 효율을 올리기 위해 정한 git branch 규칙으로, 독립적인 개발로 서로 영향을 주지 않고 동시에 진행될 수 있다.

이를 통해 프로젝트 관리의 유연성과 능률을 향상 시키고, 버전 관리와 배포에도 안정성을 올려준다.

Git Flow 전략

브랜치 종류는 다음과 같다.

  1. master: 제품 출시 버전을 관리하는 메인 브랜치
  2. develop: 다음 출시 버전을 위해 개발하는 브랜치
  3. feature: 새로운 기능을 개발하는 브랜치
  4. release: 새로운 제품을 배포하고자 할 때 사용하는 브랜치
  5. hotfix: 출시된 제품의 버그를 고치기 위한 브랜치

위 5가지 중, masterdevelop 은 항상 유지되고, feature, release, hotfix 는 merge가 되면 사라지는 보조 브랜치다.

Git Flow 흐름

master에서 출시 가능한 프로덕션을 관리하고, 다음 버전에 탑재 할 기능을 develop에서 개발한다.
대부분의 작업은 develop에서 merge 되며, 최종 테스트를 통해 더 이상의 수정 사항이 요구되지 않을 때 master에 적재한다.

develop 은 master에 merge 되는 것을 방지 하고, 배포 전 미리 최종 테스트를 해보기 위한 branch다.

develop 에 merge 되는 신규 기능은 feature 에서 진행된다.

feature 브랜치가 모두 develop 브랜치에 merge 됐다면, QA를 위해 release 브랜치를 생성한다.

오류가 생겼다면 release 브랜치 내에서 수정한다.

QA와 테스트를 통과했다면, 배포를 위해 release 브랜치를 master 브랜치로 merge하며 동기화를 위해 develop 브랜치에도 merge를 진행한다.

master 에서 버그가 발생된다면 hotfix 브랜치를 생성하여 버그 픽스를 진행한다.

수정 후 masterdevelop 브랜치에 merge하여 동기화 해준다.

Ref:
https://inpa.tistory.com/entry/GIT-⚡️-github-flow-git-flow-📈-브랜치-전략
https://hudi.blog/git-branch-strategy/

profile
딥다이브 습관화 하기 ☺️

0개의 댓글