git flow (1)
현업에서 개발단계 릴리즈 전 단계에서 어떤식으로 개발을 진행하는지 git flow로 좀 더 명확하게 알게 되었다. 단계를 보면 기술 출시전 개발 단계에서 어떤 식으로 일을 진행하는지 툴을 통해 명확하게 파악되었고 실질적으로 git 을 사용하면서 협업의 기술을 쌓아올릴수 있을 것 같았다.
Git-flow
Git-flow에는 5가지 종류의 브랜치가 존재합니다.
- main : 제품으로 출시될 수 있는 브랜치(master)
- develop : 다음 출시 버전을 개발하는 브랜치
- feature : 기능을 개발하는 브랜치
- release : 이번 출시 버전을 준비하는 브랜치
- hotfix : 출시 버전에서 발생한 버그를 수정 하는 브랜치
develop branch
main에서 가장 가까운 branch입니다.
develop branch에서는 상시로 버그를 수정한 커밋들이 추가됩니다. 새로운 기능 추가 작업이 있는 경우 develop branch에서 feature 브랜치를 생성합니다.
feature branch
feature branch에서는 언제나 develop branch에서부터 시작하게 됩니다. 기능 추가 작업이 완료되었다면 >feature branch는 develop branch로 merge 됩니다.
release branch
develop에 이번 버전에 포함되는 모든 기능이 merge 되었다면 QA를 하기 위해 develop branch에서부터 >release 브랜치를 생성합니다. 여러 상황에 따라 발생하는 버그들은 release branch에서 수정됩니다.
testing을 무사히 통과했다면 release branch를 main과 develop branch로 merge 합니다. 마지막으로 출시된 main branch에서 버전 태그를 추가합니다.
hotfix branch
긴급 상황이 발생할 경우 main branch에 바로 출시할 수 있도록 작업하는 branch 입니다