Git 分支策略:小团队别照抄大厂那套

举报
yd_242458115 发表于 2026/10/27 22:56:27 2026/10/27
【摘要】 Git Flow、GitHub Flow、主干开发——三种策略对应三种团队规模。照抄大厂流程往往得到一堆没人遵守的规矩。这篇讲清楚什么规模用什么,以及切换的时机。

很多团队的分支规范是从别处抄来的:五条长期分支、四个环境、一堆 release 流程。

结果通常是:规矩写在文档里,实际没人遵守;合并冲突越积越多;上线前一天不敢合并。

问题不在规矩本身,在于规矩和团队规模不匹配。

一、三人以下:GitHub Flow(短分支 + 主干随时可发布)

只有一条长期分支(main),每条改动开一个短分支,提 PR,合并后立刻部署。

main       ●────●────────●────●
            \  /          \  /
feature      ●─●            ●─●

规则只有四条:

1. main 永远处于可发布状态

2. 改动走分支 + PR,不直接推 main

3. 分支活不过两天

4. 合并前 CI 必须绿

为什么适合小团队: 沟通成本低,不需要层层审批。所有人都在同一份 main 上,冲突能第一时间发现。

什么时候会撑不住: 当出现“这个功能已经开发两周但还不能上线”时。这时候需要第二条分支。

二、五到十五人:加一条发布分支

出现下面任一情况,就该引入 release 分支:

  • 有功能开发到一半、但不能随下一个版本上线
  • 需要给线上版本打补丁,同时 main 还在加新东西
main      ●───●───●───●───●───●
           \       \     /
release     ●───●───●───●

做法:

1. 到发布点,从 main 拉一条 release/x.y 分支

2. 测试、修 bug 在 release 分支上做

3. 上线后把 release 的修复合并回 main(这一步最容易漏,漏了就会在下一个版本重新踩同一个坑)

4. 打 tag

关键纪律:修 bug 必须回 main。 只在 release 分支上修、不回主干的团队,三个月后会发现两个分支已经无法合并。

三、超过十五人或多产品线:才需要 Git Flow 那套

Git Flow 的五条分支(main、develop、feature、release、hotfix)本质是为了并行维护多个已发布版本。

如果你的产品只有一条线上版本,用 Git Flow 只会增加负担:

  • 所有人都要从 develop 拉分支,develop 又常常落后于 main
  • 两个长期分支之间的合并冲突是常态
  • 新人要花一周才能搞懂每天该从哪条分支切

判断标准很简单: 你现在需要给三个以上已发布版本同时打补丁吗?如果不需要,就不要用 Git Flow。

四、比分支策略更重要的一条

分支策略解决不了“主干长期不可发布”的问题。真正有效的是三条工程纪律:

1. 功能开关(feature flag)代替长期分支。

一个功能要开发两周?合并进 main,但用开关关着。这样代码天天在主干上跑 CI,不会积累冲突。

2. 小而频繁的 PR。

一个 PR 改 30 个文件、500 行,评审质量必然下降。控制在 200 行以内,评审才有意义。

3. 每次合并都验证。

CI 只跑单测不够。至少要有一次真实的启动验证,否则“CI 绿了但服务起不来”会成为常态。

五、切换时机的信号

不用纠结“我们现在是几阶段”,看症状更准:

症状 | 说明 | 该做什么

合并冲突天天有 | 分支活太久 | 缩短分支寿命

上线前要“封版一周” | 主干不可发布 | 上功能开关 + 缩小 PR

修了 bug 下个版本又出现 | 补丁没回合主干 | 强制回 main

两条分支无法合并 | 已经开始分裂 | 停手砍分支,合并回一条

新人一周上不了手 | 流程太重 | 精简流程

小结

分支策略不是越完整越好,是越匹配越好。

  • 三人以下:短分支 + 主干可发布,够了
  • 五到十五人:加一条 release
  • 更复杂才考虑多长期分支

而且真正决定交付质量的,从来不是分支模型,而是主干是否随时可发布。这一条做到了,用什么分支策略都活得下去;做不到,什么模型都救不了。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。