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
브랜치로부터 분기되어 다른 개발 단계를 고려하지 않고, 특정 문제를 빠르게 해결할 수 있음