git을 사용하여 개발할 때 거의 표준과 같이 사용되는 방법론으로 git이 나오고 활성화 된 이후에 Vincent Driessen라는 사람의 블로그 글에 의해 널리 퍼지기 시작했다고 합니다.
처음 git flow에 대해서 말한 Vincent Driessen은 git flow가 가장 완벽한 방법론은 아니고, 각자 개발 환경에 따라서 수정하고 변형해서 사용하라고 언급했습니다.
git flow는 5가지의 브랜치를 사용해서 운영을 합니다.
1. master: 기준 브랜치, 제품을 배포하는 브랜치
2. develop: 개발 브랜치, 개발자들이 이 브랜치를 기준으로 각자 작업한 기능을 merge
3. feature: 단위 기능 개발 브랜치, 기능 개발이 완료되면 develop 브랜치에 merge
4. release: QA(품질검사) 브랜치, 배포를 위해 master에 merge하기전에 품질검사를 하기 위한 브랜치
5. hotfix: 긴급 수정 브랜치, master 브랜치로 배포했는데 버그가 생겼을때 긴급 수정하는 브랜치
master와 develop이 메인 브랜치,나머지는 필요에 의해 운영하는 브랜치
참고
1. Git Flow 개념 이해하기