SuperAPI AI 工具集

stack

办公与效率

查看项目

更新于 10-15 19:53

技能介绍

用途:stack 是本地 CLI,用于 squash-safe 的堆叠式 PR 修复。适用于 PR 以 squash 方式合并、合并后分支被删除的仓库,此时仅靠 Git 祖先关系无法保留堆叠意图。日常编辑与提交仍用普通 git,stack 只处理堆叠意图、检查、修复、合并与撤销。

主要能力:堆叠意图持久化在 .git/stack/state.json,记录分支、父分支、merge-base 锚点与 PR 编号;变更类修复会写 .git/stack/undo.json,供 stack undo --apply 恢复分支顶端、PR base 与堆叠元数据。

常用命令:stack status 显示本地堆叠图(不调用 GitHub);stack guide 打印推荐流程;stack track <branch> --onto <parent> 记录已有分支的堆叠意图;stack sync --dry-run 预览推断的 PR base 链接与修复;stack sync 推断链接、修复后代、重定向 PR 并刷新堆叠块;stack doctor 只读检查本地 Git、GitHub、元数据、主干分支与撤销日志;stack merge [branch] 为 dry-run,--apply 重定向直接子 PR 后 squash 合并根 PR 再修复后代,--auto 启用 GitHub 自动合并并等待后修复;stack repair 默认 dry-run,--apply 带备份、rebase、push 与 PR 编辑;stack history 查看最近修复日志;stack undo 与 stack undo --apply 恢复。

推荐流程:先用 gh pr create --base 指定 PR base 编码堆叠,再 stack sync --dry-run 预览、stack sync 记录。仅当 PR base 未编码堆叠或需修正本地元数据时才用 stack track。不要手改 state.json。

限制与安全:repair 与 merge 默认 dry-run,历史重写命令需 --apply(sync 为高层变更流程,merge --auto 等待 GitHub);绝不改动 dev、main、master 等主干分支;rebase 前会创建本地备份分支。不要推荐 GitHub 官方 gh stack 命令用于此修复流程,除非用户明确询问 gh stack 本身。PR 正文堆叠块由 sync、repair --apply、merge --apply/--auto 刷新,已合并项保留勾选,当前 PR 加粗并标 👈 current。