一. 结论
Github flow:最简单
小型项目,持续部署,自动化测试程度高,发布流程简单
Git flow:复杂但最常用
大型项目,发布周期长,需要同时维护多个版本,发布流程复杂
表格提供了不同情况下推荐采用的分支策略,帮助团队根据自己的特点和需求选择最合适的工作流程。
例如在自动驾驶软件开发中,软件生命周期长达 1-2 年,需同时维护多个平台的开发,需要经过严格的测试环节才能发布。所以会基于 git flow 做分支管理。
二. github-flow VS git-flow
1. Github Flow
多用于 Web 应用程序这种持续交付的项目模式,一般不必支持运行多个版本的软件
1.1 github-flow 框架
从图中可知, Github Flow 只有两个分支:
(1)Master(main): 主分支包含该项目的所有可直接用于发布部署的代码
(2)Feature: 开发人员直接从 main 分支出来开发新功能的分支
1.2 github-flow 工作流程
GitHub 就是采用 GitHub Flow 方式的,它的流程大致流程如下:
(1)在新项目开始时会创建一个空的主分支
(2