깃 브랜치 전략 요약
main(master) branch에서는 최초 intial 개념의 시작점이며
개발을 위해서 별도로 develop이라는 브랜치를 하나 만든다. (develop 브랜치 생성)
master / develop 이 대부분 기준점이자 시작점이다
브랜치 종류
main(master) branch
- release(배포)출시 가능한 브랜치
- 최종 배포(release) 이력을 관리하기 위한 최상위 브랜치
- 배포 가능한 상태만을 관리
develop branch
- 다음 출시 버전을 개발하는 브랜치
- main에서 분기되어 기능 개발을 위한 브랜치들을 병합하기 위해 사용
이 브랜치 위주로 개발을 진행
- 즉, 모든 기능이 추가되고 버그가 수정되어 배포 가능한 안정적인 상태라면 develop 브랜치를 main 브랜치에 병합(merge)하기
feature branch
- 기능을 개발하는 브랜치 (local)
- 새로운 기능 개발 및 버그 수정이 필요할때마다 develop 브랜치에서 분기
- 주로 자신의 로컬 저장소에서 관리
- git clone해서 브랜치 생성하고 원격 저장소에 push (push할때 내가 생성한 브랜치명으로 작성)
release branch
- 출시 예정 버전을 준비하는 브랜치
- develop 브랜치로 어느정도 배포가 진행되고 배포가능한 시점이 되었을때 release branch 생성
- 기능에 대한 병합작업은 하지않는 단계(검토 단계), 기능에 대한 작업은 계속 develop이나 feature branch에서 이어나가기
- 모든 버그나 문서 수정이 완료 되면 main branch로 병합 및 버전 tag 부여하여 출시, develop branch에다가도 병합
hotfix branch
- 출시 버전에서 발생한 버그를 수정하는 브랜치
- 배포를 했지만 갑작스럽게 수정해야하는 경우, hotfix branch를 분기하고 고친뒤 병합
- 문제가 되는 부분만을 빠르게 수정
- 배포가 끝난 후 다시 develop branch에다가도 병합
출처 : GIT branch strategy 명명규칙 및 전략