理解当下,塑造未来。

搜索
UTC 12:45 · 2026年5月10日星期日 XIANDAI · Xiandai
2026年5月10日 · 更新于 UTC 12:45
科技

GitHub 发布 Stacked PRs 功能,旨在简化代码审查流程

GitHub 推出的全新 Stacked PRs 功能允许开发者将多个拉取请求(Pull Request)串联起来,从而将庞大的代码变更拆解为更小的单元。

Alex Chen

1 分钟阅读

GitHub 发布 Stacked PRs 功能,旨在简化代码审查流程
A software developer reviewing code

GitHub 推出了名为 Stacked PRs 的新功能(目前处于私人预览阶段),旨在帮助开发者更高效地管理大规模代码变更。据 theregister.com 报道,该工具允许开发者将巨大的拉取请求拆分为更小、更易于管理的模块。

在这一新系统中,一个拉取请求可以基于之前的拉取请求,从而形成一个连续的“堆栈”。只要堆栈中前面的 PR 已被合并,堆栈中的每个独立 PR 都可以进行单独审查和合并。此外,用户还可以选择一次性合并整个堆栈。

该功能的主要目标是鼓励开发者进行更小、更离散的工作单元开发。据该媒体报道,官方文档强调,堆栈中的每个分支都应当代表一个可以独立审查的逻辑单元。

在传统模式下,开发者往往要等到整个功能开发完成后才提交 PR,这导致了代码变更规模巨大且难以审查。究其原因,是因为开发者经常需要在尚未合并到主分支的早期变更基础上编写新代码。

回归 Phabricator 工作流

虽然这项功能对 GitHub 来说是全新的,但其工作流实际上是旧系统中“堆叠差异”(stacked diffs)方法的复兴。The Register 指出,这一概念曾是 Phabricator 的核心组成部分。Phabricator 是一套包含 Differential 的工具集,由 Facebook 工程师 Evan Priestley 和 Luke Shepard 于 2007 年创建。

Priestley 表示,最初开发该工具的动力是为了解决等待代码审查所浪费的时间。尽管 Phabricator 已于 2021 年停止开发,但其影响力依然存在。前 Facebook 工程师 Jackson Gabbard 在一篇解释性文章中提到,使用过 Phabricator 工作流的开发者在换到新岗位后,往往会主动寻找这种模式。

GitHub 同时还推出了一款新的命令行界面(CLI)扩展 `gh stack`,以简化操作流程。尽管 Hacker News 上的一些开发者认为 Git 最近的更新可能会让特定的 CLI 变得多余,但 GitHub 的 Sameen Karim 表示,该 CLI 完全是可选的,用户也可以通过标准 UI 使用此功能。

Karim 还指出,该功能的设计初衷是面向未来的自动化。他在 LinkedIn 上提到,目前开发过程中的主要瓶颈不再是编写代码,而是代码审查。他补充道,`gh stack` CLI 的设计初衷正是为了方便 AI 智能体(AI agents)使用。

评论