Skip to content
Built 26/04/15 10:53commit de0ee65

中文 | English

Squash Merge 与 PR 尺寸分布 —— Boris Cherny 的建议

这是 Boris Cherny(@bcherny)在 2026-03-25 分享的两条洞见总结。

1/ 单日 266 次贡献:始终使用 Squash

Boris 展示了自己的 GitHub contribution graph:3 月 24 日一天有 266 次贡献,来自 141 个 PR,并且 全部采用 squash merge,PR 中位数仅 118 行

  • Squash merge 会把分支上的多个提交压成目标分支上的一个提交,使历史保持干净、线性。
  • “一个 PR = 一个提交” 让整体验证与回滚更简单,也更利于 git bisect
  • 在高吞吐的 AI 辅助工作流里,分支上那些“修 lint”“再试一次”式提交大多只是噪音。

2/ PR 尺寸分布:保持 PR 小而快

Boris 还分享了这 141 个 PR 的尺寸分布,总计 45,032 行改动(增加 + 删除):

指标行数(增删总计)含义
p50118PR 中位数:一半 PR 不超过 118 行
p9049890% 的 PR 小于 500 行
p992,978只有极少数 PR 会接近或超过 3K 行

结论并不是“绝不能做大 PR”,而是高速度 agent 工作流更依赖 小 PR、廉价 review、快速 squash 合并 的整体节奏。