본문 바로가기
Git

GitFlow 기법을 사용한 브랜치 전략

by Tedi__ 2019. 7. 3.

Git-Flow 사용 전략

  • 네덜란드 Vicent Driessen 개발자가 만든 Branch 모델
  • 소프트웨어의 소스코드를 관리하고 출시하기 위한 브랜칭 관리 전략(branch management strategy)

1. Git-Flow 브랜치 모델

 

Git-Flow 브랜치 모델은 master, develop과 같은 주요 브랜치와 feature, release, hotfixes와 같은 보조브랜치로 총 5개의 브랜치로 구성 되어있습니다.

2. 브랜치별 사용전략

1. master branch

  • 최종 릴리즈에 사용되는 안정된 버전으로 개발 도중에 최종 관리자의 허락없이는 절대 push를 하면 안된다.
  • Tag로 릴리즈 버전을 관리한다.
  • 'origin/master' 원격 저장소에서 관리

2. develop branch

  • 다음 버전을 출시하기전에 새로운 기능을 개발하는 브랜치
  • 가장 변화가 많은 브랜치이다.
  • 'origin/develop' 원격 저장소에서 관리
  • 시작 브랜치 : master
  • 병합 대상 브랜치 : master

3. feature branch

  • 특정 기능을 개발할 때 따로 분리하여 사용하는 브랜치
  • 기능 개발 완료후 develop 브랜치와 병합하고 필요에 따라 유지 및 삭제가 가능하다
  • 필요에 따라 'origin/feature'로 관리
  • 시작 브랜치 : develop
  • 병합 브랜치 : develop
  • 브랜치 이름 규칙 : feature/브랜치명

4. release branch

  • 실제 배포할 단계가 되었을 때 버그 테스트 및 QA 를 진행할 때 사용하는 브랜치
  • 배포준비가 완료되면 develop, master 브랜치와 병합후 release 브랜치 삭제
  • 시작브랜치 : develop
  • 병합브랜치 : develop, master
  • 브랜치 이름 규칙 : release-*(릴리즈 버전)

5. hotfix branch

  • 서비스 운영중인 프로그램에 문제가 발생하였을 때, 긴급하게 버그를 수정하기 위해 사용하는 브랜치
  • 버그 수정후 develop, master 브랜치와 병합
  • master 브랜치 Tag 수정
  • 시작 브랜치 : master
  • 병합 브랜치 : develop, master
  • 브랜치 이름 규칙 : hotfix-*(버전명)

3. Git-Flow 사용 명령어

git flow init // gitflow 초기화

git flow init -d // gitflow 자동 설정 진행 및 초기화

git flow feature start <브랜치명> // feature branch 생성

git flow feature finish <브랜치명> // feature branch 종료(develop 브랜치와 병합)

git flow release start <브랜치명> // release branch 생성

git flow release finish <브랜치명> // release branck 종료

git flow hotfix start <브랜치명> // hotfix branch 생성

git flow hotfix finish <브랜치명> // hotfix branck 종료

git flow feature publish <name> // origin feature branch push

git flow feature pull <remote> <name> // origin feature branch pull

출처

'Git' 카테고리의 다른 글

자주사용하는 Git 명령어  (0) 2019.07.03

댓글