用途:在 PR 以 squash 方式合并、合并后分支被删除的仓库中,修复和维护堆叠式 PR(stacked PR)。由于 Git 祖先关系无法保留堆叠意图,该工具用本地 stack CLI 记录并修复堆叠关系。
主要能力:stack status 查看堆叠图与开放 PR 详情;stack guide 打印推荐流程;stack track <branch> --onto <parent> 记录已有分支的堆叠意图;stack sync 推断 PR base 堆叠链接、清理过期链接、修复后代、重定向 PR base、刷新 PR 正文中的堆叠块;stack merge 支持 dry-run、--apply、--auto 及 --auto --through;stack history 与 stack undo 查看和恢复最近一次修复。堆叠意图保存在 .git/stack/state.json,变更前会写 .git/stack/undo.json。
使用方式:先确认 command -v stack 并阅读 --help/guide,注意同名可执行文件可能无关。推荐流程为用 gh pr create 指定 base/head 建立 PR,再 stack sync --dry-run 预览、stack sync 应用。stack merge 默认 dry-run,确认计划后再加 --apply。检查类请求不授权同步、合并、推送、编辑 PR 或撤销。
适用场景:squash 合并仓库中的堆叠 PR 维护、父分支漂移修复、squash 合并后的后代修复、PR base 重定向与堆叠块刷新。
限制:不要手工编辑 .git/stack/state.json;不要改动 trunk 分支;撤销只能恢复日志记录的效果,无法取消合并或逆转外部影响;工具不可用时仅以只读方式检查 Git/PR 元数据,不要执行猜测的修复命令或安装未经验证的同名工具。普通编辑与提交仍用 git。