Git flow란?
- git flow란 간단히 말해서 형상 관리 전략입니다.
Git을 사용하여 프로젝트를 진행할 때 Git Flow전략을 통해 관리하는 것이 더 효율적이고 유연합니다.
소스 코드 관리를 효율적으로하고 협업할 때 발생할 수 있는 문제점을 최소화할 수 있는 전략이
Git flow입니다.

master branch: 배포됐거나 배포될 소스를 저장하는 브랜치 (항상 실행가능한 상태!)
develop branch: 배포하기 위해 개발을 진행하는 브랜치
feature branch: '다음 릴리즈때 출시할' 또는 '언젠가 추가할' 기능을 개발하는 브랜치
hotfixs branch: 배포된 버전에 생긴 문제를 해결하기 위한 개발이 필요할 때 쓰이는 브랜치
release branch: 배포할 준비가 된 소스를 저장하는 브랜치
- 우선 첫번째로 개발된 버전을 master브랜치로 이동.
- 그리고 다음 버전 개발을 위해 develop 브랜치로 이동.
- 개발 도중 추가할 기능들을 개발하기 위해 기능 단위로 feature 브랜치를 생성하여 개발.
- 배포된 0.1버전에 문제가 생겨 hotfixs 브랜치로 이동 되었다가 0.2버전으로 수정되어 배포.
- 개발 완료된 기능을 추가한 소스를 develop브랜치로 merge.
- 다시 develop에서 1.0버전 출시를 위해 release 브랜치로 이동(release브랜치는 배포 직전 단계이므로 버그 수정 진행)
- release 브랜치에서 버그가 수정될 때마다 develop 브랜치로 계속 머지 / 현재 개발중인 feature브랜치에도 버그 수정 내용 merge
- release브랜치에선 버그 완전 수정후 1.0버전 배포 후 develop브랜치로 이동
위 사이클을 돌면서 개발해나가는 버전관리 방법이 Git flow