git flow 에서는 branch가 총 5가지로 나누어 진다.
- master branch: 실제 제품으로써 배포가 된 코드가 모여있는 브랜치.
- development branch: 다음 출시를 위한 개발의 기준이 되는 브랜치.
- feature branch: 각 개발자의 기능 개발이 이루어지는 브랜치. develop branch 기준.
- release branch: master로 가기 전, 테스트를 위한 준비가 이루어지는 브랜치. develop branch 기준.
- hot fix branch: 현재 배포된 버전에서 발생한 버그를 긴급 수정 하는 브랜치. master branch 기준.
(Image: https://brainbackdoor.tistory.com/87)
master와 develop 브랜치가 따로 있는 이유?
배포와 개발을 구별하기 위해서이다. 배포와 상관없이 다음 출시를 위한 개발 commit이 멈추지 않도록 하기 위해서 나눈다.