GitHub Stacked PRs 私有预览:原生支持与命令行结合,拆分大变更提升审查效率!

张开发
2026/4/14 20:46:16 15 分钟阅读

分享文章

GitHub Stacked PRs 私有预览:原生支持与命令行结合,拆分大变更提升审查效率!
跳过至内容GitHub Stacked PRs 搜索 CtrlK 取消概述 快速开始 命令行界面 (CLI) 用户界面 (UI) 常见问题解答 (FAQ)概述 快速开始 命令行界面 (CLI) 用户界面 (UI) 常见问题解答 (FAQ)选择主题 深色 浅色 自动Stacked PRs 目前处于私有预览阶段。加入等待列表 →GitHub Stacked PRs 是什么借助原生 GitHub 支持和 gh stack 命令行界面 (CLI)可将大型变更拆分为相互依存、易于审查的小型拉取请求 (PR)。 快速开始 概述原生支持的 GitHub Stacked PRs可以把拉取请求按顺序排列成一个栈随后一键合并所有请求。每个 PR 代表变更的一个聚焦层面能够独立审查并一起落地。简化的栈管理在 GitHub 用户界面中能够在栈中的各个 PR 之间导航一眼查看每个层面的状态还能通过一键操作触发整个栈的级联变基 (rebase)。强大的命令行界面gh stack 命令行界面能让你轻松创建栈、执行级联变基、推送分支并创建 PR还可在终端中于各层面间导航。AI 代理集成运行 npx skills add github/gh-stack 可让你的 AI 编码代理学会处理栈。可以将大型差异拆分为栈或者从一开始就使用栈进行开发。为何选择 Stacked PRs大型拉取请求存在审查难、合并速度慢且易产生冲突的问题。审查人员容易丢失上下文反馈质量下降整个团队的工作效率也会降低。Stacked PRs 通过将大型变更拆分为一系列相互依存、聚焦的小型拉取请求来解决这个问题每个请求都可以独立审查。在栈中排列 PR栈是同一仓库中的一系列拉取请求每个 PR 都以其下方 PR 的分支为目标形成一个有序的链条最终合并到主分支。GitHub 对栈提供端到端支持拉取请求界面会显示栈地图方便审查人员在各层面间导航分支保护规则会应用于最终目标分支而不仅仅是直接基础分支栈中的每个 PR 都会像以最终分支为目标一样运行持续集成 (CI) 测试。工作原理gh stack 命令行界面负责处理本地工作流程包括创建分支、管理变基、推送到 GitHub 以及创建具有正确基础分支的 PR。在 GitHub 上PR 界面为审查人员提供必要的上下文信息如用于导航的栈地图、每个层面的聚焦差异以及规则的正确执行。当你准备好合并时可以合并整个栈或其中一部分。每个 PR 可以直接合并也可以通过合并队列进行合并。合并后栈中剩余的 PR 会自动进行变基使未合并的最低 PR 以基础分支为目标。开始使用终端窗口# 安装 CLI 扩展gh extension install github/gh-stack# 可选将 gh stack 别名为 gs 以便使用gh stack alias# 开始一个栈创建并切换到第一个分支gs init auth-layer# ... 进行提交 ...# 在栈中创建新的层面创建并切换到每个新分支gs add api-routes# ... 进行提交 ...gs add frontend# ... 进行提交 ...# 推送所有分支gs push# 打开一个 PR 栈gs submit准备好深入探索了吗可以从 快速开始指南 入手或者阅读 完整概述。

更多文章