# git 版本管理
应用的是 Git flow
这个工作流是 Vincent Driessen 2010 年发布出来的分支管理模型,热度非常高,我安利的也是这个,公司管理项目也是这么玩的。
按功能划分,可分为 5 种分支 Master、Develop、Release、Feature 和 Hotfix;
按生命周期划分,可分为 长期分支和暂时分支,更贴切地说,主要分支和协助分支;
分支 分支名称 生命周期 描述 Master 主分支 长期 从这个分支上检出的都是稳定的发布版,版本发布后记得打上 git 标签。好处是,在测试的时候,不影响下一个版本功能并行开发 Release-hotfix 修复分支 暂时 用于线上紧急 bug 修复,修复后,合并回 Master 和 Develop,然后删除分支 Release 预发分支 暂时 从 Develop 检出 Release 分支,修改后提交,测试发布后,合并到 Master 和 Develop,然后删除分支 Develop 开发分支 长期 用于日常开发,存放最新的功能,完成一个版本合并到这里 Feature 功能分支 暂时 用来做功能开发,从 Develop 检出,有 5 个人开发可建 5 个 Feature-* 分支,完成后再合并到 Develop,然后删除分支
# 总结一下
# 规则
规则一:Master 为保护分支,Release-hotfix、Develop 分支由此检出,Release-hotfix、Release 分支最终合并到此。
规则二:Develop 为保护分支,Feature、Release 分支由此检出,Feature、Release、Release-hotfix 分支最终合并到此。
规则三:打 Tag,Release-hotfix、Release 发布后合并到 Master,与此同时必须打 Tag。
TIP
以上操作由各组 Leader 或架构师完成。
规则四:Master、Develop 不允许任何 Commit 操作行为;只允许通过 Merge Requests 合并。
规则五:所有针对 Master、Develop 的 Merge Requests,需要架构师或者我 完成 Code Review 之后才行。
# 建议
- 建议一:所有被合并的暂时分支可以删除。