SuperAPI AI 工具集

gh-stack

编程与开发

查看项目

更新于 10-15 20:05

技能介绍

用途:gh stack 是 GitHub CLI(gh)扩展,用于管理堆叠分支与拉取请求。一个 stack 是以 trunk(通常是仓库默认分支)为根的有序分支列表,每个分支以相邻下层分支为 base 并对应一个 PR,评审者只看到该层的 diff。stack 底部最靠近 trunk,顶部最远;up 离开 trunk,down 靠近 trunk。

主要能力:创建、rebase、push、sync 依赖分支链;在层级间导航;查看堆叠 PR 状态;unstack 后重建以移除、重排或重命名分支;用 gh stack merge 原子合并整个 stack。

安装与准备:需要 gh v2.0+ 并已认证。安装:gh extension install github/gh-stack。建议配置:git config rerere.enabled true、git config remote.pushDefault origin(多远程时)。

关键用法:init、add、checkout 必须提供分支名位置参数,否则触发交互提示;提交 PR 用 gh stack submit --auto;查看用 gh stack view --json(否则进入 TUI);多远程时对 push、submit、sync、rebase、link 传 --remote,或预配置 remote.pushDefault;避免分支属于多个 stack(会以退出码 6 失败);合并用 gh stack merge --yes,可加 --squash、--rebase、--merge 或 --merge-method,未指定则沿用上次方法;若 base 分支使用 merge queue,stack 会被整体加入队列而非直接合并。

限制:所有命令必须在非交互环境运行,否则会挂起;gh pr merge 不适用于堆叠 PR;合并前仅检查基础 PR 状态(开启且非草稿),不支持绕过合并要求;使用单一 stack 讲清一个特性,无关工作另开 stack。