새소식

반응형
Git

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

  • -
반응형

GitFlow?

깃플로우(git-flow) 전략은 소프트웨어의 소스코드를 관리하고 출시하기 위한 '브랜치 관리 전략(branch management strategy)'중 하나이다.
git-flow 전략외에도 github flowgitlab flow 전략등도 있다. 각자에게 맞는 전략을 선택해서 사용하는게 가장 중요하다.
git-flow 는 Vicent Driessen 이 제안한 git 의 workflow 디자인에 기반한 브랜칭 모델이다. git-flow 에서 사용하는 브랜치의 종류는 5가지이며,
크게 항상 유지되는 메인브렌치(master, develop)와 일정 기간 유지되는 보조 브랜치(feature, realease, hotfix)로 나뉜다.

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

많은 그림들 중에 역시 아래의 그림이 git-flow를 한눈에 이해하기에는 가장 좋은 것 같아서 가져왔다.

git-flow-model

개발 흐름

위의 그림을 토대로 개발 흐름을 보자면 처음에 MasterDevelop 브랜치를 만드는데,
Develop는 Master에서 부터 시작되는 브랜치입니다. 위 두 브랜치는 항상 존재하는 브랜치 입니다.
새로운 추가 작업이 있는 경우 Develop 에서 Feature 브랜치를 생성한다.
Feature는 언제나 Develop에서 시작해야 합니다. 기능추가 작업이 완료되면 Feature는 Develop로 Merge한다.
QA를 위해 Develop에서 Release 브랜치를 생성한다. QA를 진행 하면서 발생한 버그들은 Release에 수정된다.
QA가 끝나면 Release 브랜치를 DevelopMaster 브랜치로 각각 Merge 한다.
Hotfix 브랜치는 언제나 Master에서 시작해야 합니다. 작업이 완료되면 Hotfix는 MasterDevelop 브랜치로 각각 Merge 한다.

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

git 을 여러사람이 함께 사용하다보면 필연적으로 브랜치 전략을 세워서 git을 관리해야됩니다. 어떤 브랜치 전략을 사용하는지는 해당 팀의 성격에 맞게 선택하고 함께 공유하는게 중요하다고 생각합니다.

Reference

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

반응형

'Git' 카테고리의 다른 글

Git의 기본적인 명령어  (0) 2021.08.25
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.