git-flow
本文最后更新于:2023年3月23日 凌晨
原文:https://www.thinktxt.com/git/2017/06/16/create-git-flow-efficient-work-flow.html
master
【线上的分支】 - 是线上版本分支,也可以理解为随时可以发布的稳定版本,要求在每次版本封版后由主程序员合并release分支代码进来,开发人员不可以随意操作。
develop
【开发基础分支】 - 包含待上线的新内容,是你进行任何新的开发的基础分支。当你开始一个新的功能分支时,它将是开发的基础,由此拉出feature分支准备新功能开发。另外,该分支也汇集所有已经完成的功能,并等待经过release分支测试通过后最终被整合到 master 分支中。
release
【上线分支】 - 当开发结束后用来提测并且为本次版本最终上线的分支,所有测试阶段的bug全部在此分支修复,测试结束后合并到 master
和 develop
分支中。
当准备将develop上的新内容发布到生产环境时,需要拉release分支。release分支可以隔离develop后续对本次上线的影响。当release拉出来后,不用担心其它的东西会合过来,只需要在这上面专注测试和修复bug。
feature
【新功能开发分支】 - 开发新功能时以develop分支为基础建立新的feature分支进行单独开发。当需要此功能的时候,只需要将该 feature 分支合并入 develop 分支,下次一并提测即可。
这样设计可以避免这个功能在尚未开发完成或者通过测试的时候混入发布的版本,而导致不可预知的不稳定。当然也可以同时开启多个 feature 分支进行不同新功能开发,在合适的时候合并提测即可。