你是否曾为一个复杂需求卡在 Code Review 环节?改了 20 个文件、牵扯 5 个模块,却因 PR 过大被反复打回重拆?gh-stack 是 GitHub 官方推出的命令行工具,专为解决「大变更难评审、难合入、难维护」这一经典难题而生。它帮你把一个巨型改动自动拆成多个逻辑清晰、层层依赖的小型 Pull Request(即「堆叠式 PR」),并全程管理分支关系、基线同步与提交顺序——从此告别手动 rebase、手调 base 分支、手写 PR 描述的重复劳动。
核心功能
- 一键初始化堆叠流程:运行
gh stack init即可创建首个分支并自动检出,奠定堆叠基础 - 智能分层添加分支:用
gh stack add <branch-name>新增上层分支,工具自动将其设置为前一分支的子分支,确保依赖关系准确无误 - 全栈批量推送与同步:执行
gh stack push,自动按依赖顺序推送所有分支,并为每个分支配置正确的 PR 基线(base branch) - 可视化堆叠结构:通过
gh stack view直观查看当前分支堆叠层级、对应 PR 编号及依赖链路,支持 ASCII 图形化呈现 - 一键提交整栈 PR:运行
gh stack submit自动为每一层分支创建 PR,自动填写标题、描述与关联信息,支持草稿模式和自定义模板 - 深度集成 GitHub CLI 生态:原生兼容
gh命令体系,支持与 GitHub Actions、CI/CD 流水线无缝协作;还可通过gh skill install让 AI 编程助手理解堆叠语义
适合哪些人用
如果你是以下角色之一,gh-stack 将显著提升你的协作效率:中大型项目的核心开发者(常需交付跨模块特性)、开源项目维护者(面对大量外部贡献时需降低 Review 门槛)、重视工程规范的团队技术负责人(推动小步快跑、原子化提交文化)、以及正在实践 Trunk-Based Development(TBD)或 Feature Flag 流程的工程师。尤其适合使用 main 或 develop 作为主干分支、追求高频合入但又拒绝“巨型 PR”的团队。
快速上手
只需两步即可启用:
- 安装前提:确保已安装 GitHub CLI(gh)v2.0+;
- 安装扩展:终端执行
gh extension install github/gh-stack; - 立即开干:
gh stack init—— 创建底层分支(如feat/auth-layer)gh stack add feat/api-endpoints—— 添加上层分支gh stack add feat/frontend—— 继续堆叠gh stack push→gh stack submit—— 一键推送到远端并提交全部 PR
整个过程无需手动切换分支、无需记住 base 分支名、无需反复 git rebase —— 所有依赖同步与历史整理均由工具静默完成。
项目信息
github/gh-stack
GitHub
GitHub Stacked PRs
编程语言:Go|GitHub Star 数:809(持续增长中)|开源协议:MIT|GitHub 项目地址
这是 GitHub 官方亲自打磨的生产力工具,轻量、可靠、文档完善,且完全免费开源——与其花时间写脚本模拟堆叠逻辑,不如直接用官方认证的解决方案。


