열정
Git-Flow란? 본문
GitFlow란?
GitFlow란 소스코드를 효과적으로 관리하기 위한 전략 중 하나입니다. 현재 많은 기업들이 GitFlow 전략을 채택하여
사용하고 있습니다.
그 외에도 GitHub Flow와 GitLab Flow전략 등이 있습니다.
포인트
글을 보실 때 GitFlow에서 큰 줄기인 master 브랜치와 develop 브랜치를 중심으로 어느 시점에서 브랜치가 파생되는지를 중점적으로 관찰하시면 GitFlow를 이해하는데 더욱 도움이 될 것입니다.

- Master : 제품으로 출시될 소스를 저장하는 브랜치
- Develop : 다음 출시 버전을 대비하여 개발하는 브랜치
- Feature : 기능을 개발하는 브랜치
- Release : 다음 버전 출시를 준비하는 브랜치
- Hotfixs : Master 브랜치에서 발생한 버그를 수정하는 브랜치
전반적인 흐름을 설명하자면
Master 브랜치에서 Develop 브랜치를 생성합니다

Develop 브랜치에서 개발을 하는 것이 아니라 기능별로 나눠서 Develop 브랜치에서 파생된
Feature 브랜치를 생성합니다. Feature 브랜치에서 기능 개발을 완료했다면 Develop 브랜치와
Merge 합니다. 이후 Feature 브랜치는 삭제됩니다.

다음 버전 출시를 위해 Develop에서 파생된 브랜치인 Release 브랜치를 생성하여 제품이
출시될 수 있는지 테스트합니다. 이때 Release 브랜치에서 버그가 발생한다면 Release 브랜치에서
버그를 수정해야 합니다. 모든 테스트를 마치면 배포를 위해 Release 브랜치와 Master 브랜치를 Merge 합니다.
이때 Release 브랜치에서 버그 수정이 진행되었다면 Develop 브랜치에도 Merge 합니다.
이후 Release 브랜치는 삭제됩니다.

제품을 출시 한 Master 브랜치에 미쳐 발견하지 못한 버그가 발생하였습니다. 이럴 땐
Hotfixs 브랜치를 Master 브랜치로부터 생성한 뒤 버그를 수정한 후 다시 Master 브랜치와
Develop 브랜치에 Merge 합니다. 이후 Hotfixs 브랜치는 삭제됩니다.
출처
https://hyeon9mak.github.io/git-branch-strategy
깃 브랜치 전략
hyeon9mak.github.io