先说结论:它解决的是依赖改动的可读性,不是自动替你做好代码审查

Stacked PR 的核心并不神秘:第一层从 `main` 拉分支,第二层以第一层为 base,第三层再叠在第二层之上。每个 PR 只展示本层引入的差异,审查者可以分别讨论数据结构、后端接口和界面,而开发者不用等最底层合并后才开始下一层。GitHub 这次把依赖图、逐层 review、检查与整栈合并放进原生 PR 体验;合并底部一部分时,上层 PR 会保持打开并自动 rebase、重新指向新的 base。

这对使用 coding agent 的中文团队很及时。生成代码变快以后,一个任务可能在很短时间里膨胀成几千行 diff,真正稀缺的反而是人类能否理解改动顺序、发现跨层假设并留下可追踪意见。把认证基础、业务逻辑和 UI 分开,通常比让审查者面对一个巨型 PR 更容易建立心智模型。但“小 PR”本身不保证好设计:如果拆分顺序错误、每层不能独立通过测试,或者 agent 只是机械切文件,依赖图仍会把复杂性藏起来。

最值得测的是部分合并、fork 和审查历史

一个可靠的实测不应只演示安装 `github/gh-stack` 扩展和创建三条 PR。先让每层各自运行 CI、各自接受评论,再只合并最底层,观察上层自动 rebase 后检查是否重跑、评论是否仍对应正确代码、merge queue 是否可用以及失败时怎样恢复。官方称现有 reviews、checks、merge requirements 会继续工作,但预览期的价值正是用自己的分支规则去验证这句话,而不是把产品说明当成完成验收。

开源贡献还有明显边界。GitHub 团队在 HN 讨论中确认跨 fork stack 仍在开发,涉及多个不同 fork 的 stack 因自动 rebase 带来的安全问题目前基本排除;未来目标是允许整套分支都位于贡献者的同一个 fork,最底层 PR 再指向上游。对依赖 fork 提交的社区,这不是小细节。最负责任的选题落点,是展示原生 stacked PR 怎样减少手工维护分支的摩擦,同时把平台锁定、预览状态、fork 拓扑和可恢复性放进采用清单。