1. Git Flow(Vincent Driessen)的双主干(master、develop)与多特性(feature、release、hotfix)的策略
请说明 Git Flow(Vincent Driessen)的双主干(master、develop)与多特性分支(feature、release、hotfix)策略?
- 双主干分支的角色
- 各辅助分支的生命周期
- 适用场景
Git Flow 由 Vincent Driessen 提出,采用两条长期主干:master(main)保存始终可发布的稳定版本,每个发布点打 tag;develop 是集成分支,保存日常开发的功能。辅助分支按需创建并最终合并回主干:feature/* 从 develop 拉出,开发完成后合并回 develop;release/* 在准备发布时从 develop 拉出,只做修复与版本微调,完成后并入 master 和 develop;hotfix/* 从 master 拉出用于紧急修复,完成后并入 master 和 develop。各分支职责明确,适合版本化发布的产品。
Git Flow 的价值在于把"发布"与"开发"严格分离,通过 release 分支冻结发布内容、hotfix 分支快速修复线上问题。但流程较复杂,分支生命周期长,对团队协作要求高。它适合有明确版本节奏、需要维护多个版本线的产品(如桌面应用、移动 App),而对持续部署的 SaaS 可能过重。