본문 바로가기

CS공부

팀단위 개발 준비하기 - Git Flow 이해

Vincent Driessen가 만든 Git으로 브랜치를 나눠 개발하는 방식 중 하나입니다.

특징은 5종류의 브랜치를 이용하여 저장소를 운영하게 됩니다.

5종류의 브랜치는 아래와 같습니다.

  • Master(main)
  • Release
  • Develop
  • Feature
  • Hotfix

 

1. Master

가장 먼저 master 브랜치는 실제 제품으로 출시되고 운영되는 브랜치를 의미합니다.

여러 개발자들이 만든 기능을 합치고 테스트를 거쳐 이상이 없는지 확인합니다.

2. Release

master 브랜치에 통합하기 전에 완성된 기능을 테스트 하는 브랜치를 의미합니다.

보통 제품으로 출시되기 전의 버전을 관리합니다.

3. Develop

여러 엔지니어들이 개발한 기능들을 통합해 놓은 브랜치를 의미합니다.

다음 버전을 대비하기 위한 브랜치로 사용됩니다.

4. Feature

특정 기능을 개발할 때 사용되는 브랜치를 의미합니다.

5. Hotfix

이미 배포된 브랜치(master)에서 버그가 발생했을 경우 수정하는 브랜치를 의미합니다.

 

 

기능 단위로 Feature를 쪼개 만들고

Feature에서 완성된 기능을 Develop에 병합

여러 개발자들이 만든 기능을 Develop에 병합후 Feature에서 삭제

 

 

 

개발이 완료된 Develop가 충족되면 develop브랜치에서 release 브랜치를 생성한다

release의 버전에 맞게 브랜치의 이름을 생성하여 QA진행

여기서 버그가 발생한다면 다시 “develop”에서 수정을 하고 이 과정을 반복 하여 버그가 없을때까지 진행

 

 

 

이렇게 “출시” 가능한 상태가 된다면 master에 병합하여 새로운 버전을 출시

그리고 develop에도 병합이 되어 “다음버전”을 준비할수있는 상태로 만듬

 

 

만약 여기서 master에서 버그가 발생했다면 hotfix 브랜치에 작업을 만들어 사용을 하고

해당 작업을 마스터와 develop에 결합을 진행해줌

 

내일은 해당 내용을 가지고 새롭게 프로젝트를만들어 이것저것 여러 상황을 가정하며 작업을 해볼예정이다.