SuperAPI AI 工具集

gh-stack

编程与开发

查看项目

更新于 10-15 22:17

技能介绍

用途:gh-stack 用于操作 GitHub 原生堆叠式 PR。堆叠是以主干为根的分支链,每条分支的 PR 基于其下一层分支,因此差异只显示该层。打印顺序为主干在左,左为底部先合并,右为顶部后合并。up 远离主干,down 靠近主干。

主要能力:设计分层、创建或采纳堆叠、提交、查看、同步、变基、重构与合并。可初始化链、添加分支、以草稿创建 PR 并链接为 GitHub 堆叠、同步远端状态、级联变基、以 --prune 清理已合并本地分支,以及合并整个堆叠或部分目标。

使用方式:安装用 gh stack --version || { gh extension install github/gh-stack && gh stack --version; },并执行 git config rerere.enabled true。非交互场景需在无 PTY 下运行,并使用显式参数,例如 gh stack view --json、gh stack submit --auto、gh stack merge <target> --yes --squash、gh stack init <branch>...、gh stack add <branch>、gh stack checkout <target>;避免裸命令以免触发提示或 TUI。创建用 gh stack init --base <trunk> <bottom-branch>,再 gh stack add <next-branch>,最后 gh stack submit --auto 和 gh stack view --json。低层编辑后执行 gh stack rebase --upstack、gh stack top、gh stack push。同步用 gh stack sync。外部管理分支可用 gh stack link。合并需用户明确批准,且不要用 gh pr merge 处理原生堆叠。

状态与退出码:gh stack view --json 输出稳定字段包括 trunk、currentBranch、branches[](name、head、base、isCurrent、isMerged、isQueued、needsRebase)及 branches[].pr(number、url、state)。退出码 0 成功、2 不在堆叠、3 变基冲突、4 GitHub API 失败、5 参数无效、6 需消歧、7 变基已激活、8 堆叠文件锁定、9 堆叠式 PR 不可用、10 需 modify 恢复。

限制:堆叠为线性,每层代表一个代码依赖或显式共享发布批次中的一个有界问题。未经用户明确批准不得合并;就绪、绿色检查或先前提交请求都不构成合并授权。非原子操作(如 submit、push、sync)可能部分成功,需检查并重试。在多个远端时需传 --remote 或配置唯一远端。命令契约以 v0.1.0 为准,版本不同时以当前命令帮助为准。缺失信息:官方文本未提供更多收费、平台或效果说明。