Master
: Git의 기준이 되는 브랜치로 제품을 배포하는 브랜치이다. 나무의 중심 뿌리라고 보면 된다.Develop
: 개발 브랜치로 개발자들이 작성한 작업들을 합친다.(Merge)Feature
: 단위 기능을 개발하는 브랜치로 기능 개발이 완료되면 Develop브랜치와 합친다.Release
: 배포를 위해 Master브랜치로 넘기기 전에 먼저 품질검사(QA)를 하기 위한 브랜치이다.Hotfixes
: Master브랜치로 배포를 했으나 버그가 생겼을 경우 긴급 수정하는 브랜치이다.위 그림을 참고하여 Git-flow를 살펴보자.
Master
브랜치에서부터 시작한다.Develop
에도 생성한다. 개발자들은 Develop 브랜치에서 개발을 진행한다.Feature브랜치를 따서 기능을 구현한다.
예를 들어 회원가입 개발자는 회원가입 Feature브랜치에, 장바구니 개발자는 장바구니 Feature 브랜치를 따서 개발을 진행한다.검토를 거쳐 다시 Devleop 브랜치와 합쳐진다.(Merge)
Develop 브랜치를 Release브랜치로 만든다.
이후 품질검사를 하면서 보완점을 보완하고 버그를 해결한다.Release브랜치를 Master와 Develop브랜치로 보낸다.
Master브랜치에서 버전 추가를 위해 태그를 하나 생성하고 배포
를 한다.버그가 있을 경우 Hotfixes브랜치를 만들어 긴급 수정
후 태그를 생성하고 바로 수정 배포를 한다.