...
Git flow는 바로 이 내용을 기반으로 환경을 구성하며 주요 Branch는 다음과 같은 용도를 기반으로 합니다.
기본 Branch
Master : 최종 개발 완료 된 안정된 버전 관리 Branch Develop : 다음 릴리즈를 위한 개발 중인 최신 Commit
|
Feature : 개발하고자 하는 기능을 위한 branch
- develop branch에서부터 가져오며, 다시 develop branch로 머지한다. - develop branch 이외의 브랜치와는 머지하지 않는다. - 일반적으로 개발자의 로컬에서만 유지하고 origin 에 푸시하지 않는다. - develop branch에 머지하면 feature branch는 삭제한다. |
Release : 제품 또는 결과물을 Release하기 위한 브랜치
...
Hotfix : 긴급 버그 픽스를 위한 브랜치
- master 에서 가져오며, master 와 develop branch로 머지한다. - hotfix-* 형태로 이름을 짓는다. - release branch와 사용 방법은 동일하지만, 예상치 못한 긴급 버그 수정을 위해 사용한다. - release 와 마찬가지로, 소스 코드 내 버전 정보를 업데이트 한다. - 작업이 완료되면, master 에 머지하고 버전을 태그로 남긴다. - 수정 사항을 develop branch로 머지한다. 만약, release branch가 이미 존재하면, develop이 아닌 release branch로 머지한다. - 핫픽스가 종료되면 branch를 삭제한다. |
몇 가지 주의할 점은 다음과 같다.
- 브랜치를 머지할 때 --no-ff 옵션을 쓴다.
...
이 Git flow는 훌륭한 기반 환경의 표준을 제공하며 많은 장점을 제공하지만 단점도 있는데, 장 단점은 다음과 같습니다.
장점 |
|
단점 |
|