用途:gh-stack 是 GitHub CLI(gh)的扩展,用于管理堆叠分支和堆叠 PR。堆叠是一组有序分支,每个分支基于其下方分支,根为 trunk(通常是仓库默认分支);每个分支对应一个 PR,其 base 是下方分支,因此审查者只看到该层的 diff。底部最接近 trunk,顶部最远;up 远离 trunk,down 靠近 trunk。
主要能力:创建、添加、推送、rebase、同步、导航、查看堆叠状态,以及拆除并重建堆叠以删除、重排或重命名分支。支持按 PR 号或分支名检出、设置自定义 trunk、使用前缀命名分支、squash-merge 后自动恢复、冲突处理(--continue/--abort)。
使用方式:需安装并认证 gh v2.0+,安装命令为 gh extension install github/gh-stack。建议先配置 git config rerere.enabled true 与 git config remote.pushDefault origin。常用命令:gh stack init -p feat auth、gh stack add api-routes、gh stack push、gh stack submit --auto、gh stack sync、gh stack rebase --upstack、gh stack view --json、gh stack up/down/top/bottom、gh stack checkout 42、gh stack unstack。
限制与注意:所有命令必须非交互运行,需显式提供分支名与必要标志,否则会挂起。view 必须加 --json,submit 必须加 --auto,init/add/checkout 必须带参数。多远程时用 --remote 或预配置 pushDefault。避免分支被多个堆叠共享,否则退出码 6。rebase 冲突退出码 3,sync 冲突会恢复原状。资料未提供收费、价格与平台支持等更多信息。