Gitflow Workflow는 nvie의 Vincent Driessen에 의해 제안되었으며, 프로젝트 릴리즈를 중심으로 설계된 엄격한 branching model이다. 지속적 SW개발 및 DevOps 구현에 도움이 되어 대규모 프로젝트 관리에도 적용 가능한 workflow이다.
항상 유지되는 메인 브랜치인
main과develop과 일정 기간 동안만 유지되는 보조 브랜치인feature,release,hotfix이다.
① main
② develop
main 브랜치에 merge develop 브랜치를 기준으로 작업 진행③ feature
feature/login)develop 브랜치에서 특정 feature 브랜치를 분기하여 개발을 진행develop 브랜치로 merge되며, 더이상 필요하지 않은 feature 브랜치는 삭제④ release
release-2.1)develop 브랜치로부터 release 브랜치를 분기하여 배포에 필요한 최종 버그 수정 및 문서 작업 등을 수행release 브랜치를 통해 배포를 준비하면, 그 기간 동안에도 develop 브랜치에서는 다음 버전을 위한 개발이 진행될 수 있음⑤ hotfix
hotfix-2.1.1)master 브랜치에서 hotfix 브랜치를 분기하여 작업을 수행master 브랜치로부터 분기되어 다른 개발 단계를 고려하지 않고, 특정 문제를 빠르게 해결할 수 있음