GitHub推出新功能“堆叠式拉取请求”,助力代码审查应对AI代码变更潮

张开发
2026/4/15 21:08:44 15 分钟阅读

分享文章

GitHub推出新功能“堆叠式拉取请求”,助力代码审查应对AI代码变更潮
1. GitHub推出新功能应对AI代码变更潮在处理大型拉取请求pull requests时拆分工作并非易事。为此GitHub推出了一项新功能以帮助开发团队更轻松地进行代码审查并为应对AI驱动的代码变更激增做好准备。随着AI辅助开发工具生成的代码量比以往任何时候都多审查人员面临着审查越来越大的拉取请求的挑战。GitHub曾考虑拒绝AI辅助的代码提交如今则希望帮助企业以更渐进的方式管理大型代码变更。该公司表示其新功能“堆叠式拉取请求”Stacked PRs可以将大型变更拆分为更小的单元从而提高代码审查的速度和质量。GitHub在其网站上宣布Stacked PRs时称“大型拉取请求难以审查、合并速度慢且容易产生冲突。审查人员会失去上下文反馈质量下降整个团队的工作效率也会降低。”通过采用这种新的堆叠式方法GitHub旨在减少管理相关拉取请求的开销具体措施包括减少变基rebasing工作、提高跨堆叠变更的持续集成CI和策略可见性以及保留审查上下文以提高代码质量。GitHub在文档中解释道Stacked PRs会跟踪堆叠中各个请求之间的关系并自动传播变更这样开发人员就不必不断对代码进行变基操作同时审查人员也能在上下文中评估每个步骤。该功能通过gh - stack实现这是GitHub CLI的一个新扩展用于管理本地工作流程包括创建分支、变基、推送变更以及使用正确的基础分支打开拉取请求。GitHub还表示在前端通过gh - stack创建的所有变更都会显示在GitHub界面中审查人员可以通过堆叠地图进行导航每一层都以聚焦的差异diff形式呈现并遵循标准规则和检查。开发人员可以合并单个拉取请求或整个堆叠包括通过合并队列进行合并之后任何剩余的变更都会自动进行变基操作以便下一个未合并的PR以基础分支为目标。2. 单仓库和平台工程推动向模块化开发转变Pareekh咨询公司首席分析师Pareekh Jain认为Stacked PR是GitHub对大规模单仓库monorepos和平台工程推动的结构转变的回应这些趋势促使团队采用更模块化、并行的工作流程。Jain表示“GitHub传统的PR模式造成了瓶颈开发人员要么长时间等待审查要么将工作打包成难以审查的大型PR这增加了风险并减缓了合并速度。堆叠式方法解决了这个问题它允许开发人员将一个功能拆分为更小的、相互依赖的PR如数据库、API和UI层这样审查可以逐步进行同时开发工作可以并行开展。”他还指出Stacked PRs可能会在大中型企业中迅速得到采用特别是那些管理单仓库的企业。该功能最大的影响是消除了“变基地狱”即当基础分支发生变化时手动更新多个依赖分支的繁琐工作。此外该功能集成到GitHub CLI和UI中无需第三方工具这也将推动其采用。3. 变更管理面临习惯挑战HFS Research首席执行官Phil Fersht表示采用Stacked PRs的最大障碍不是代码变更而是编码人员习惯的改变。他说“限制因素不是功能本身而是开发团队是否能调整工作流程规范以正确使用堆叠式方法。”这意味着开发人员需要学会将大型拉取请求整理成整齐的堆叠供审查人员审查这可能和审查大型PR一样具有挑战性。基于智能AI的软件初创公司Doozer AI联合创始人Paul Chada也认同这一观点他说“只有当不改变带来的痛苦超过学习的摩擦时工作流程才会发生转变。”4. AI驱动的代码速度带来新压力Stacked PRs的推出正值软件开发领域发生更深刻的结构转变——AI辅助编码的兴起。这加速了代码生成的速度增加了变更的数量使传统的线性审查工作流程难以维持。Chada表示“AI辅助编码改变了局面。当人类编写代码时大型PR虽然烦人但还可以忍受。现在智能体可以在几秒钟内生成涉及40个文件、长达2000行的差异预计GitHub今年的提交量将达到140亿次而去年仅为10亿次。这不是工作流程的问题而是生存问题。”Chada认为GitHub似乎在押注Stacked PRs能够改变开发团队对软件开发单元的看法无论代码作者是资深工程师还是智能体都能使代码单元变得更小、可追溯且可回滚。但他也警告称将Stacked PRs与编码智能体集成可能会给企业带来工具链繁杂的问题。他指出“目前的开发工具链——集成开发环境IDE、GitHub Copilot、Claude Code、Codex、堆叠工具、审查机器人、CI/CD、安全扫描器和MCP服务器——正处于蓬勃发展阶段。”5. 竞争压力与平台策略GitHub的Stacked PRs并非全新概念已有第三方工具与GitHub配合提供类似功能。Jain表示GitHub添加这一功能可能会对Graphite CLI产生影响Graphite CLI是一款专注于GitHub的工具在Stacked PRs功能尚未原生支持时就允许进行PR堆叠。Jain称“Graphite在这一领域一直处于市场领先地位。GitHub的入局验证了堆叠式审查这一类别但对Graphite的核心价值主张构成了生存威胁。为了生存Graphite可能需要在卓越的用户界面/用户体验UI/UX、更快的性能以及GitHub不会涉足的功能如针对GitLab和Bitbucket的跨平台堆叠上加倍努力。”这种竞争压力也反映了更广泛的平台策略。Jain进一步指出Stacked PRs代表着一种“战略举措”旨在将谷歌、Meta和优步等公司高速团队长期使用的工作流程内化到GitHub平台中这一流程借鉴了Phabricator等工具推广的堆叠式差异代码审查模式。堆叠式差异与Stacked PRs类似是一系列小的、相互依赖的代码变更这些变更会分别进行审查但设计目的是相互构建并作为一个整体落地。实际上这意味着GitHub试图通过让企业更容易在其平台上原生采用这些先进的工作流程将企业从第三方工具中吸引过来从而减少对外部工具的依赖。Chada还指出了一个潜在的平台经济角度。他说“GitHub实际上是在构建基础设施以应对机器生成活动的激增但目前这些活动尚未带来成比例的收入从与GitHub Copilot竞争的第三方编码智能体到这些智能体加速的工作流程都是如此。”从这个角度看Stacked PRs既像是一种扩展应对措施也像是对开发者体验的升级——这可能预示着GitHub将改变其AI层的盈利模式随着时间的推移Copilot的定价可能会转向更基于使用量的模式。 ”

更多文章