git flow
git에서 제공하는 브랜칭 기능을 활용한 변경 이력 관리 전략입니다.
Git-flow의 5가지 종류
- main : 제품으로 출시될 수 있는 브랜치
- develop : 다음 출시 버전을 개발하는 브랜치
- feature : 기능을 개발하는 브랜치
- release : 이번 출시 버전을 준비하는 브랜치
- hotfix : 출시 버전에서 발생한 버그를 수정 하는 브랜치
master, develop : 항상 유지되는 메인 브랜치들
feature, release, hotfix : 일정 기간 동안만 유지되는 보조 브랜치들
특징
main 브랜치, develop 브랜치
- master와 develop브랜치가 존재하고, develop브랜치는 master 브랜치에서 시작된 브랜치 입니다.
Develop 브랜치
- develop브랜치에는 상시로 버그를 수정한 커밋들이 추가되게 됩니다.
- 새로운 기능을 추가하는 경우 develope 브랜치에서 시작하는 feature브랜치를 생성합니다
Feature 브랜치
- 이 feature브랜치는 기능 추가 작업이 완료되었다면, develop 브랜치로 merge 합니다.
- 새로운 기능을 추가하는 경우 develope 브랜치에서 시작하는 feature브랜치를 생성합니다.
release 브랜치
- develop브랜치에 이번 버전에 포함하는 모든 기능이 merge되었다면 , QA를 위해 develop브랜치에서 release브랜치를 생성합니다.
- QA를 무사히 통과하게되면 relase브랜치를 master와 develop브랜치로 merge 합니다.
- QA를 진행하면서 발생한 버그들은 모두 release브랜치에 수정되게 됩니다.
develop 브랜치 만들기
자신의 로컬 레포지토리에서 develop 브랜치 생성
git branch develop
develop 브랜치를 내 리모트 레포지토리에 push
git push -u origin develop
develop 브랜치를 베이스로 새로운 브랜치 생성
git branch [브랜치 이름] develop
생성된 브랜치에서 작업 후 add, commit, push
git push origin [브랜치 이름]