Git

[Git] gitflow란 ? git-flow 를 사용한 브랜치 전략

포포015 2021. 8. 14. 18:53

GitFlow?

깃플로우(git-flow) 전략은 소프트웨어의 소스코드를 관리하고 출시하기

위한 ‘브랜치 관리 전략(branch management strategy)’중 하나이다.

git-flow 전략외에도 github flow  gitlab flow 전략등도 있다.

각자에게 맞는 전략을 선택해서 사용하는게 가장 중요하다.

 

git-flow 는 Vicent Driessen 이 제안한 git 의 workflow 디자인에 기반한 브랜칭 모델이다.

git-flow 에서 사용하는 브랜치의 종류는 5가지이며,

크게 항상 유지되는 메인브렌치(master, develop)와 일정 기간 유지되는 보조 브랜치(feature, realease, hotfix)로 나뉜다.

 

  • Master - 제품으로 출시 되는 브랜치
  • Develop - 다음 출시 버전을 개발하는 브랜치
  • Feature - 기능을 개발하는 브랜치
  • Realease - 이번 출시 버전을 준비하는 브랜치
  • Hotfix - 출시 버전에서 발생한 버그를 수정하는 브랜치

개발 흐름

위의 그림을 토대로 개발 흐름을 보자면 처음에 Master  Develop 브랜치를 만드는데,

Develop는 Master에서 부터 시작되는 브랜치입니다. 위 두 브랜치는 항상 존재하는 브랜치 입니다.

새로운 추가 작업이 있는 경우 Develop 에서 Feature 브랜치를 생성한다.

Feature는 언제나 Develop에서 시작해야 합니다. 기능추가 작업이 완료되면 Feature는 Develop로 Merge한다.

QA를 위해 Develop에서 Release 브랜치를 생성한다. QA를 진행 하면서 발생한 버그들은 Release에 수정된다.

QA가 끝나면 Release 브랜치를 Develop  Master 브랜치로 각각 Merge 한다.

Hotfix 브랜치는 언제나 Master에서 시작해야 합니다.

작업이 완료되면 Hotfix는 Master  Develop 브랜치로 각각 Merge 한다.

 

더욱 자세한 내용은 A successful Git branching model를 참고하세요.

 

git 을 여러사람이 함께 사용하다보면 필연적으로 브랜치 전략을 세워서 git을 관리해야됩니다. 

어떤 브랜치 전략을 사용하는지는 해당 팀의 성격에 맞게 선택하고 함께 공유하는게 중요하다고 생각합니다.

 

 

Reference - https://techblog.woowahan.com/2553/

Reference - https://mishka.kr/2020/03/30/gitflow/

 

우린 Git-flow를 사용하고 있어요 | 우아한형제들 기술블로그

{{item.name}} 안녕하세요. 우아한형제들 배민프론트개발팀에서 안드로이드 앱 개발을 하고 있는 나동호입니다. 오늘은 저희 안드로이드 파트에서 사용하고 있는 Git 브랜치 전략을 소개하려고 합

techblog.woowahan.com

 

'Git' 카테고리의 다른 글

[Git] Git 기본 개념 및 사용법  (0) 2023.09.05