Git Flow
크게 master, hotfix, release, develop, feature 브랜치로 나눌 수 있다.
각 stage마다 역할이 명확하기에 코드 추적을 하기도 쉬우며 더 안전하게 코드관리가 가능하다.

feature → Deveop →Release → Master 순으로 스테이지 레벨이 높아진다고 보면 된다.
[순서]
- Develop 브랜치에서 파생되는 Feature 브랜치를 만든다.
- Feature 브랜치에 열심히 작업 후 Commit 을 한다.
- Develop 브랜치는 릴리즈 준비를 위해 Feature 브랜치를 merge한다 (Feature 브랜치 삭제)
- 릴리즈 위해 해당 merge된 브랜치에서 파생되는 Release 브랜치를 만든다.
- Release 브랜치에서 변경되는 몇가지 작업(버그 픽스 같은)을 커밋으로 작업한다.
- 최종적으로 릴리즈를 위해 Release 브랜치는 Master 브랜치로 merge되며 동시에 Develop 브랜치에도 변merge되어야 한다 (Release 브랜치 삭제 )
- 마스터 브랜치에 머지된 최종 커밋은 배포될 버전의 태그를 달은 후 배포한다.
- 1번부터 반복
[특징]
- Master 브랜치에는 최종 배포 버전을 담을
Tag를 사용한다.
- Master, Develop 브랜치는 직접 커밋을 하기보단 merge하는 구조로만 사용한다.
- 기본적으로 Develop과 Master 브랜치에서 작업을 merge하게 된다. 이때
non fast-forward 전략을 사용해서 머지 전용 커밋을 따로 만든다.