GitHub近日发布了堆叠PR(Stacked PRs)功能,该功能目前处于私有预览阶段,旨在帮助开发者更轻松地管理大型拉取请求,并加快整个代码审查流程。
堆叠PR允许一个拉取请求基于前一个拉取请求构建,从而形成一条"堆叠链"。链中的每个拉取请求都可以独立进行审查和合并,但前提是其下方的所有拉取请求均已完成合并。此外,用户也可以选择将整个堆叠一次性合并。
堆叠PR的核心优势在于鼓励开发者提交更小粒度的拉取请求,从而降低审查难度。官方文档指出:"堆叠中的每个分支应代表一个独立的、符合逻辑的工作单元,可以被单独审查。"
然而在实际开发中,这一目标往往难以实现。开发者通常希望在等待前序代码合并期间持续推进工作,而不愿因等待审查而中断进度。为此,他们往往会在独立分支上持续开发直至功能完整,最终提交一个涉及大量文件变更的巨型拉取请求,给审查工作带来极大负担。
堆叠PR功能虽然对GitHub而言是全新能力,但在其他代码管理与审查系统中早有类似实践,通常被称为"堆叠差异(Stacked Diffs)"。其中最具代表性的是由Facebook的Evan Priestley和Luke Shepard于2007年开发的Differential工具。Priestley曾表示:"我花了大量时间等待代码审查,这正是我构建这个工具的主要动力。"Differential后来成为Facebook内部工具套件Phabricator的核心组件,并于2011年以开源形式对外发布。开源版Phabricator已于2021年停止更新,但其分支项目Phorge目前仍在积极维护中。
在使用堆叠PR时,开发者的工作流程与传统方式存在显著差异。堆叠最底层的PR通常直接基于主分支创建,而非独立分支。曾在Facebook担任工程师的Jackson Gabbard(2006年至2016年)在一篇详细说明文章中写道:"使用过Phabricator堆叠差异工作流的开发者普遍非常喜爱这种方式,并且在去到新的地方后也会主动寻找类似的工具。"
在Hacker News上,社区对这一功能的讨论总体持积极态度。不过也有开发者指出:"我不太明白为什么需要这个命令行工具(CLI),Git本身近几年的更新已经可以原生支持这种工作流。"此处提及的CLI正是GitHub专属扩展工具gh stack。尽管如此,将该功能整合进GitHub仍是一项重大改进,而CLI的存在也大幅简化了使用门槛。负责该功能开发的GitHub工程师Sameen Karim表示:"CLI完全是可选的,你完全可以通过图形界面创建堆叠PR。"
在AI层面,GitHub同样有所布局。Karim在LinkedIn上表示:"瓶颈已不再是写代码,而是审查代码。堆叠PR有助于解决这一问题。"他还透露,堆叠CLI同样面向AI智能体使用场景进行了专项设计。
Q&A
Q1:堆叠PR(Stacked PRs)是什么?它解决了什么问题?
A:堆叠PR是GitHub新推出的功能,允许多个拉取请求以堆叠形式相互依赖,每个PR可独立审查和合并。它主要解决了开发者在等待代码审查时无法持续推进工作的问题,避免了因功能未拆分而提交庞大、难以审查的拉取请求的情况,从而提升代码审查效率。
Q2:堆叠PR和Phabricator的堆叠差异功能有什么关系?
A:堆叠PR的概念源于Phabricator的"堆叠差异(Stacked Diffs)"工作流。Phabricator是Facebook于2011年开源的内部工具套件,其核心组件Differential由Evan Priestley和Luke Shepard于2007年开发,专门用于解决代码审查效率问题。许多熟悉这一工作流的开发者对其评价极高,GitHub此次将类似功能整合进平台,是对这一成熟工作流的传承与发展。
Q3:使用堆叠PR必须用命令行工具(CLI)吗?
A:不是必须的。GitHub提供了专属CLI扩展工具gh stack来辅助管理堆叠PR,但负责该功能开发的工程师Sameen Karim明确表示,CLI完全是可选项,用户可以直接通过GitHub的图形界面来创建和管理堆叠PR,无需使用命令行工具。
好文章,需要你的鼓励
Replit与RevenueCat达成合作,将订阅变现工具直接集成至Replit平台。用户只需通过自然语言提示(如"添加订阅"),即可完成应用内购和订阅配置,无需离开平台。RevenueCat管理超8万款应用的订阅业务,每月处理约10亿美元交易。此次合作旨在让"氛围编程"用户在构建应用的同时即可实现商业变现,月收入未达2500美元前免费使用,超出后收取1%费用。
LiVER是由北京大学、北京邮电大学等机构联合提出的视频生成框架,核心创新是将物理渲染技术与AI视频生成结合,通过Blender引擎计算漫反射、粗糙GGX和光泽GGX三种光照图像构成"场景代理",引导视频扩散模型生成光影物理准确的视频。框架包含渲染器智能体、轻量化编码器适配器和三阶段训练策略,支持对光照、场景布局和摄像机轨迹的独立精确控制。配套构建的LiVERSet数据集含约11000段标注视频,实验显示该方法在视频质量和控制精度上均优于现有方法。
所有人都说AI需要护栏,但真正在构建它的人寥寥无几。SkipLabs创始人Julien Verlaguet深耕这一问题已逾一年,他发现市面上多数"护栏"不过是提示词包装。为此,他打造了专为后端服务设计的AI编程智能体Skipper,基于健全的TypeScript类型系统与响应式运行时,实现增量式代码生成与测试,内部基准测试通过率超90%。他认为,编程语言的"人类可读性时代"正走向终结,面向智能体的精确工具链才是未来。
这项由蒙特利尔学习算法研究所(Mila)与麦吉尔大学联合发布的研究(arXiv:2604.07776,2026年4月)提出了AGENT-AS-ANNOTATORS框架,通过模仿人类数据标注的三种角色分工,系统化生成高质量网页智能体训练轨迹。以Gemini 3 Pro为教师模型,仅用2322条精选轨迹对90亿参数的Qwen3.5-9B模型进行监督微调,在WebArena基准上达到41.5%成功率,超越GPT-4o和Claude 3.5 Sonnet,并在从未见过的企业平台WorkArena L1上提升18.2个百分点,验证了"数据质量远比数量重要"这一核心结论。