Git-Flow 사용 전략
- 네덜란드 Vicent Driessen 개발자가 만든 Branch 모델
- 소프트웨어의 소스코드를 관리하고 출시하기 위한 브랜칭 관리 전략(branch management strategy)
1. Git-Flow 브랜치 모델
Git-Flow 브랜치 모델은 master, develop과 같은 주요 브랜치와 feature, release, hotfixes와 같은 보조브랜치로 총 5개의 브랜치로 구성 되어있습니다.
2. 브랜치별 사용전략
1. master branch
- 최종 릴리즈에 사용되는 안정된 버전으로 개발 도중에 최종 관리자의 허락없이는 절대 push를 하면 안된다.
- Tag로 릴리즈 버전을 관리한다.
- 'origin/master' 원격 저장소에서 관리
2. develop branch
- 다음 버전을 출시하기전에 새로운 기능을 개발하는 브랜치
- 가장 변화가 많은 브랜치이다.
- 'origin/develop' 원격 저장소에서 관리
- 시작 브랜치 : master
- 병합 대상 브랜치 : master
3. feature branch
- 특정 기능을 개발할 때 따로 분리하여 사용하는 브랜치
- 기능 개발 완료후 develop 브랜치와 병합하고 필요에 따라 유지 및 삭제가 가능하다
- 필요에 따라 'origin/feature'로 관리
- 시작 브랜치 : develop
- 병합 브랜치 : develop
- 브랜치 이름 규칙 : feature/브랜치명
4. release branch
- 실제 배포할 단계가 되었을 때 버그 테스트 및 QA 를 진행할 때 사용하는 브랜치
- 배포준비가 완료되면 develop, master 브랜치와 병합후 release 브랜치 삭제
- 시작브랜치 : develop
- 병합브랜치 : develop, master
- 브랜치 이름 규칙 : release-*(릴리즈 버전)
5. hotfix branch
- 서비스 운영중인 프로그램에 문제가 발생하였을 때, 긴급하게 버그를 수정하기 위해 사용하는 브랜치
- 버그 수정후 develop, master 브랜치와 병합
- master 브랜치 Tag 수정
- 시작 브랜치 : master
- 병합 브랜치 : develop, master
- 브랜치 이름 규칙 : hotfix-*(버전명)
3. Git-Flow 사용 명령어
git flow init // gitflow 초기화
git flow init -d // gitflow 자동 설정 진행 및 초기화
git flow feature start <브랜치명> // feature branch 생성
git flow feature finish <브랜치명> // feature branch 종료(develop 브랜치와 병합)
git flow release start <브랜치명> // release branch 생성
git flow release finish <브랜치명> // release branck 종료
git flow hotfix start <브랜치명> // hotfix branch 생성
git flow hotfix finish <브랜치명> // hotfix branck 종료
git flow feature publish <name> // origin feature branch push
git flow feature pull <remote> <name> // origin feature branch pull
출처
'Git' 카테고리의 다른 글
자주사용하는 Git 명령어 (0) | 2019.07.03 |
---|
댓글