git flow init
일반적인 개발 프로세스는 '개발 -> 테스트 -> 배포' 라고 볼수 있다.
그런데 여기서 팀으로 개발하는 경우, 조금 더 세부적으로 보면
'각자 기능 개발 -> 각자 기능 테스트 -> 취합 -> 테스트 -> 배포' 라고 볼수 있다.
git flow 는 이러한 흐름에 맞게 정해진 branch 의 형태로 초기화할수 있는데,
git flow init 으로 초기화하게 되면 다음과 같은 브랜치를 생성할수 있다.
master: 제품으로 출시가 되는 브랜치 (배포)
release: 이번에 출시 버전을 준비하는 브랜치 (여기선 버그 수정만 이루어진다)
develop: 지속적으로 개발기능을 취합하는 브랜치 (취합)
develop 의 특정 시점을 묶어 release 브랜치로 옮긴다.
feature: 각자 기능을 개발하기 위한 브랜치다.
hotfix: master 에서 문제가 발생하면 hotfix 브랜치를 따서, 수정한다.
master->release, develop 으로 반영되는 역 merge가 발생한다.
support: 버전 호환성 문제를 처리 하기 위한 브랜치라는데.. 아직 모르겠다.