xiand.ai
2026年4月14日 · 更新于 UTC 11:53
科技

GitHub 推出 Stacked PRs 功能私测版

GitHub 正在测试一种名为 “Stacked PRs” 的新工具,旨在帮助开发者将大型且复杂的代码变更拆分为一系列较小的、相互关联的 Pull Request (PR)。

Alex Chen

1 分钟阅读

GitHub 推出 Stacked PRs 功能私测版
GitHub Stacked PRs feature illustration

GitHub 现已推出 “Stacked PRs” 功能的私测版,这项新功能旨在将大型、复杂的 Pull Request (PR) 拆分为更小、更易于管理的变更链。该工具目前通过候补名单(waitlist)提供,允许开发者按顺序排列 PR,使每一个 PR 都能基于前一个 PR 的更改进行构建。

大型 PR 往往会成为软件开发生命池中的瓶颈。GitHub 表示,海量的代码差异(diffs)不仅难以评审,合并速度慢,而且极易引发合并冲突。这类大规模变更经常导致评审人员丢失上下文,从而降低反馈质量,并拖慢工程团队的进度。

Stacked PRs 通过创建“堆栈(stack)”来解决这一问题,其中每个 PR 代表大型变更中的一个特定层级。每个层级都可以进行独立评审,但最终可以合并在一起。

原生集成与自动化管理

新系统在 GitHub 用户界面中提供了原生支持。全新的“堆栈地图(stack map)”让评审人员能够一目了然地在变更的不同层级间进行切换。此外,GitHub 还确保针对最终目标分支的分支保护规则依然有效,并且堆栈中的每个 PR 都会运行持续集成(CI)测试,其效果等同于直接针对最终目标分支进行测试。

对于在终端工作的开发者,GitHub 推出了 `gh stack` 命令行界面(CLI)。该工具实现了本地工作流的自动化,包括创建分支、管理 rebase 以及将堆栈推送到远程仓库。

该 CLI 还简化了合并后的流程。当开发者合并了堆栈中的一部分时,剩余的 PR 会自动进行 rebase,从而确保未合并的最低层级 PR 能够正确指向基础分支。

GitHub 还在将该功能扩展到 AI 驱动的开发领域。通过运行 `npx skills add github/gh-stack`,开发者可以教会 AI 编程代理(AI coding agents)如何与堆栈进行交互。这使得 AI 代理既可以将大型差异拆分为更小的堆栈,也可以从一开始就采用堆栈式方法来开发新功能。

有兴趣测试该功能的开发者可以通过 GitHub 仓库申请加入官方候补名单。

评论

评论存储在您的浏览器本地。