git의 workflow 디자인에 기반한 브랜칭 모델
master, develop, feature, release, hotfix 5개 종류의 branch로 나눠서 관리한다.
각 브랜치가 하는 일
모든 변경사항이 결국은 master로 merge된다.
product로 release를 할 준비가 된 가장 안정적인 branch.
즉, 개발된 모든 feature가 develop에 merge 된다.
어떤 새로운 기능이 추가되어야 할 때 사용되는 branch.
개발이 완료되면, parent인 develop branch로 merge된다.
master branch에는 직접적으로 접근할 수 없다.
develop branch에서 어느 정도 feature들을 merge하고 이 쯤에서 release 해야겠다 싶을 때, 생성하는 branch이다.
develop branch -> release branch로 merge
release된 product에서 발생한 버그같은 것을 수정해야 할 때 사용되는 branch이다.
수정이 완료된 후에는 수정사항을 반영하기 위해 master와 develop branch에 모두 merge된다.