Git Flow

GGAE99·2023년 5월 28일
0

Git Flow가 뭐야


Git Flow는 Git으로 개발할 때 거의 표준과 같이 사용되는 방법론이다.

크게 Main 브랜치, Develop 브랜치, Supporting 브랜치로 구분하여 브랜치를 관리한다.
이때, Supporting 브랜치는 또 다시 Feature 브랜치, Release 브랜치, Hotfix 브랜치로 나뉜다.

Git Flow가 설치되어 있는지 확인해보자.

$ git flow version

1.12.3 (AVH Edition)

Git Flow를 사용하기 위해서는 가장 먼저 git flow init을 실행해야한다.

git flow init

init을 실행하면 사용할 브랜치의 이름을 설정할 수 있는데, 기본 설정으로 사용하고 싶다면

git flow init -d

의 명령어를 사용하면 된다.

Git Flow Branch 종류

Main 브랜치

Main 브랜치는 출시 가능한 프로덕션 코드를 모아두는 브랜치이다.
Main 브랜치는 프로젝트 시작 시 생성되며, 개발 프로세스 전반에 걸쳐 유지된다.
배포된 각 버전을 Tag를 이용해 표시해둔다.

Develop 브랜치

다음 버전 개발을 위한 코드를 모아두는 브랜치이다. 개발이 완료되면, Main 브랜치로 머지된다.

Feature 브랜치

하나의 기능을 개발하기 위한 브랜치이다.
Develop 브랜치에서 생성하며, 기능이 개발 완료되면 다시 Develop 브랜치로 머지된다.
머지할때 주의점은 Fast-Forward로 머지하지 않고, Merge Commit을 생성하며 머지를 해주어야 한다. 이렇게해야 히스토리가 특정 기능 단위로 묶이게 된다.

// feature branch 생성
$ git flow feature start branch-name

네이밍은 feature/branch-name 과 같은 형태로 생성한다.

Release 브랜치

소프트웨어 배포를 준비하기 위한 브랜치이다.
Develop 브랜치에서 생성하며, 버전 이름 등의 소소한 데이터를 수정하거나 배포전 사소한 버그를 수정하기 위해 사용된다. 배포 준비가 완료되었다면 Main과 Develop 브랜치에 둘다 머지한다.
이때, Main 브랜치에는 태그를 이용하여 버전을 표시한다.

Release 브랜치를 따로 운용함으로써, 배포 업무와 관련없는 팀원들은 병렬적으로 Feature 브랜치에서 이어서 기능을 개발할 수 있게된다.

네이밍은 release/v1.1 과 같은 형태로 생성한다.

Hotfix 브랜치

이미 배포된 버전에 문제가 발생했다면, Hotfix 브랜치를 사용하여 문제를 해결한다.
Main 브랜치에서 생성하며, 문제 해결이 완료되면 Main과 Develop 브랜치에 둘다 머지한다.

Release 브랜치와 마찬가지로 Hotfix 브랜치를 따로 운용함으로써, 핫픽스 업무와 관련없는 팀은 병렬적으로 기능 개발을 할 수 있다.

네이밍은 hotfix/v1.0.1 과 같은 형태로 생성한다.

출처 : https://hudi.blog/git-branch-strategy/

0개의 댓글