# Preface
团队在开发的时候,由于各人的水平不一。我经常会思考如何管理git分支。
# 名词解释
# 持续集成
持续集成指的是,频繁地(一天多次)将代码集成到主干。
# 迭代开发git分支管理
https://zhuanlan.zhihu.com/p/394734031
https://segmentfault.com/a/1190000040505582
https://juejin.cn/post/6844904069652299784
git flow test和dev分支 (opens new window)

# develop 分支
develop 为测试分支,用于部署到测试环境(FAT),始终保持最新完成以及 bug 修复后的代码,可根据需求大小程度确定是由 feature 分支合并,还是直接在上面开发。
# 主分支 Master
稳定版本代码分支,不能在此分支直接修改代码, 只接受 hotfix、release 分支的代码合并,每次从 release/hotfix 分支合并必须打版本号 tag,以方便后续的代码追溯。该分支上部署自动化测试脚本,在每次代码提交至该分支后都会触发测试,以此保证主分支核心功能的稳定。
# 分支命名规范建议
feature/xxx:新功能开发。bugfix/xxx:非紧急的 bug 修复。hotfix/xxx:紧急 bug 修复。release/xxx:准备发布的版本。experiment/xxx:实验性功能。
# Trunk Based Development 主干开发模型
https://www.jianshu.com/p/01301c0d8c1e
# Aone Flow
飞流Flow是基于git的多主干分支模式的版本管理模型。
飞流Flow采用了 feature + n*release + master 的分支形式实现版本管理,而其中,n * release 代表了各环境的发布分支。