협업을 진행할 때 독립적으로 각 기능에 대해 작업하면서 변경사항을 변경하고, 브랜치가 merge될 때 오류가 발생하면 바로 해결할 수 있다.
Master 버전 관리를 할 때 여러 기능별 브랜치들을 네이밍을 통해 쉽게 구분할 수 있다.
오류나 버그가 발생할 때 어떤 브랜치에서 롤백해야될지 빠르고 명확하게 확인할 수 있다.

1. 브랜치 생성
2. 기능 개발, 버그 수정
3. Pull Request 생성
4. 리뷰와 논의
5. 공개 및 테스트
6. 최종 Merge

GitFlow 전략은 더 많은 제어와 복잡성을 가지고 있어 특정 기능이나 수정을 빠르게 배포해야 할 경우에는 불리할 수 있다. 하지만 그만큼 배포 안정성과 버전 관리 및 롤백 등 체계적인 운영이 가능하다.
반면에, GitHub Flow 전략은 테스트와 검증 절차를 거치지 않고 바로 master 브랜치로 Merge 되므로 높은 위험성을 가지고 있다. 하지만 그만큼 단순하고 빠르게 기능을 테스트하고 배포할 수 있기 때문에, 주로 각 환경의 구분이 명확하지 않고 작은 규모의 프로젝트에 적합하다.