堆叠式拉取请求现已公开预览
摘要
GitHub 现已推出堆叠式拉取请求的公开预览,允许开发者将大型变更拆分为更小、更易审查的 PR,这些 PR 可独立审查并一键合并。
<p><a href="https://lobste.rs/s/pzl6f0/stacked_pull_requests_are_now_public">评论</a></p>
查看缓存全文
缓存时间: 2026/07/30 17:53
# 堆叠拉取请求现已公开预览
来源:https://github.blog/changelog/2026-07-30-stacked-pull-requests-are-now-in-public-preview/
堆叠拉取请求将大型变更拆分为一个个小而可审查的拉取请求。它们是一组有序的拉取请求,每个请求代表变更中的一个聚焦层。借助堆叠,您可以独立审查和检查每个拉取请求,然后一键合并所有内容。不再需要打开一个审查耗时漫长的大型拉取请求,也不需要在多个分支间拆分工作并手动不断变基。
> “过去几个月,我们一直在 Next.js 中使用 GitHub 堆叠 PR。它帮助我们在发布大型功能的同时引入更小的独立变更,让 PR 审查变得更容易。”——Tim Neutkens,NextJS 负责人,Vercel
通过堆叠拉取请求,团队可以:
- **保持大型变更持续推进**——并行审查简短且范围聚焦的拉取请求。
- **在每一层保持质量**——利用聚焦的拉取请求审查,结合现有分支保护措施保护 `main`。
- **合并一个、部分或全部**——一次性合并整个堆叠,或逐一合并单个层。
而且由于堆叠拉取请求内置于 GitHub 中,您现有的审查、检查与合并要求都能开箱即用。
> “新的 GitHub 堆叠 PR 预览版太棒了。一次将五个堆叠 PR 直接落地到合并队列中!A+++!这消除了大量摩擦(gh CLI 工具和代理技能也大有帮助)。”——John Resig,jQuery 创建者
## 通过 CLI 扩展开始使用(https://github.blog/changelog/2026-07-30-stacked-pull-requests-are-now-in-public-preview/#get-started-with-the-cli-extension)
安装 CLI 扩展,一分钟内创建您的第一个堆叠:
``
gh extension install github/gh-stack
``
## 从终端或 github.com 创建堆叠(https://github.blog/changelog/2026-07-30-stacked-pull-requests-are-now-in-public-preview/#create-stacks-from-your-terminal-or-github-com)
在 github.com、GitHub CLI、GitHub 移动应用或通过使用 gh-stack 技能的编程代理(如 GitHub Copilot)处理堆叠。先为您的第一个变更创建一个分支和拉取请求,然后在其上添加分支和拉取请求;每个拉取请求的目标是其下方的层。
## 独立审查每一层(https://github.blog/changelog/2026-07-30-stacked-pull-requests-are-now-in-public-preview/#review-each-layer-independently)
打开堆叠中的任意拉取请求,仅审查该特定层的差异。利用拉取请求顶部的堆叠图,了解您正在审查的变更如何融入更大的工作。您和队友可以并行审查不同层,而不会阻塞后续工作。
> “AI 使 TED 的开发人员效率大幅提升,但也带来了新的瓶颈:PR 变得越来越大,审查者难以应对。堆叠 PR 帮助解决了这个问题。通过将大型变更拆分为依赖有序的小块,审查以更小的逻辑单元进行——不仅 PR 审查更快,而且更准确。堆叠 PR 缩短了我们的反馈循环,帮助更快地将稳定代码部署到 ted.com。”——Andy Merryman,TED 首席技术官
展示拉取请求堆叠相关细节的 GitHub 拉取请求页面视图
## 一键合并所有内容(https://github.blog/changelog/2026-07-30-stacked-pull-requests-are-now-in-public-preview/#merge-everything-in-a-single-click)
合并最新就绪的拉取请求,一次性将其及下方所有未合并的层落地。要落地堆叠的一部分,合并一个或多个较低层——其上方的拉取请求保持打开状态,并自动变基和重新设定目标。您现有的分支保护和必要的检查仍然控制着哪些内容能进入 `main`。
> “一个大的变更曾经意味着一个没人想审查的巨大 PR。现在它变成了一堆小 PR,审查者可以真正跟上,并且整个堆叠一次合并。它不再像是 GitHub 之上的一个工具,而开始感觉像 GitHub 本身。”——Mayank Saini,WHOOP 连接工程师
堆叠拉取请求将在未来几天内向所有仓库逐步推出公开预览。对堆叠拉取请求的**合并队列**支持将在未来几周内逐步推出。
更多信息,请查看[堆叠拉取请求文档](https://gh.io/stacks?utm_source=changelog-stacked-pr-docs&utm_medium=changelog&utm_campaign=stacked-prs-gtm-public-preview-2026),并在[堆叠讨论区](https://gh.io/stacks-feedback?utm_source=changelog-pr-stacks-feedback&utm_medium=changelog&utm_campaign=stacked-prs-gtm-public-preview-2026)与我们分享您的反馈。
相似文章
@GergelyOrosz:实际上,关于堆叠差异(又称堆叠式拉取请求)这个概念,你需要了解的是,这篇深度文章写于……
Gergely Orosz 分享了 Pragmatic Engineer 关于堆叠差异的深度解析,解释了这一由 Meta 和 Google 推广的概念,以及 GitHub 新的公开预览如何使其更容易使用。
@cognition: Devin 现在原生支持 @Github Stacked PRs ▪︎ 将大型变更拆分为更小、更易审查的差异 ▪︎ 处理…
Devin 现在原生支持 GitHub Stacked PRs,使开发者能够将大型变更拆分为更小的差异,跨栈修复评论,并自动变基下游变更。
spr:GitHub上的堆叠拉取请求
spr 是一个 CLI 工具,可将 Git 分支上的每个提交转换为 GitHub 上的独立拉取请求,无需手动管理分支即可实现堆叠式 PR。
用这一个简单技巧让代码审查重新可行
文章提出使用堆叠分支(小型、顺序的拉取请求)来使审查AI生成的代码更易管理和高效,解决常见的大型、难以审查的差异问题。
@github:GitHub Copilot 代码审查的中等深度审查现已进入公开预览。将努力级别从低提高到中…
GitHub Copilot 的代码审查功能现在支持中等深度审查的公开预览,允许用户提高努力级别,以便通过更高推理能力的模型进行更彻底的分析。