Git-Flow전략
Git-Flow에서 사용하는 브랜치를 알아보자.
1.feature ^ 서브브랜치
feature브랜치는 기능의 구현을 담당한다. 브랜치명은 feature/{구현기능명} 과 같은 명칭을 준수하는 것이 일방적이다. feature 브랜치는 develop브랜치에서 생성되며, develop브랜치로 머지 된다. 머지된 후에 해당 브랜치가 삭제된다.
2. develop * 메인브랜치
develop브랜치는 말 그대로 개발을 진행하는 브랜치로 진행하는 개발에 중심적이다. 하나의 feature브랜치가 머지될 때마다 develop브랜치에 해당 기능이 더해지며 살을 붙여간다.
3. release ^
release브랜치는 개발된 내용을 배포하기 위해 준비하는 브랜치이다. 브랜치명은 release-1과 같은 방식으로 첫번째 릴리즈, 두번째 릴리즈 등을 지정하는 것이 보편적이다. release 브랜치는 develop브랜치에서 생성되며 버그 수정 내용을 develop브랜치에도 반영하고, 최종적으로 master브랜치에 머지한다.
4. hotfix ^
hotfix 브랜치는 배포된 소스에서 버그가 발생하면 생성되는 브랜치이다. 브랜치명은 hotfix-1으로 지정된다. release브랜치를 거쳐 한차례 버그검사를 했지만 배포 후에 발견된 버그들을 수정한다.
hotfix 브랜치는 master브랜치에서 생성되며, 수정이 완료되면 develop브랜치, release브랜치와 master브랜치에 수정 사항을 반영한다.
5. master *
master 브랜치는 최종적으로 배포되는 가장 중심의 브랜치이다. develop브랜치에서 개발이 진행되는 와중에도 이전 release브랜치의 내용이 master에 있어 배포되어 있다.