SuperAPI AI 工具集

graphite-stacks

通用与其它

查看项目

更新于 10-16 09:49

技能介绍

用途:该技能面向使用 Graphite CLI 进行 trunk-based 开发与堆叠式 PR(stacked PR)管理的场景,适用于创建或管理分支栈、提交堆叠 PR、重组分支关系、跨栈处理 PR 反馈、修复栈损坏,以及任何 gt 命令的使用。

核心原则:应完全使用 gt 命令。混用 git 与 gt 会导致同步问题和栈分叉;唯一例外是使用 git add 暂存(或使用 -a 标志)。

主要能力与用法:

  • 创建栈:gt create 'feature/step-1' -am "feat: first step",可继续堆叠,或用 --insert 在当前分支与子分支之间插入分支。
  • 导航:gt up 向子分支移动,gt down 向父分支移动,gt top 跳到栈顶,gt bottom 跳到栈底,gt checkout 交互式选择分支。
  • 修改:gt modify -a 修订当前分支,gt modify -acm "msg" 在当前分支新增提交,也可用 gt modify --into target-branch 提交到栈内其他分支。
  • 反馈处理:单个 PR 直接切换分支后 gt modify -acm;多个 PR 用 gt top 后 git add . 与 gt absorb -a,再由 gt submit --stack 提交,Graphite 会依据文件历史路由改动。
  • 重组:gt move --onto new-parent 或 gt move --source branch-name --onto target,之后 gt restack。
  • 提交:gt submit 提交当前分支及下游,gt submit --stack 提交整个栈,gt submit --no-interactive 用于自动化。
  • 查看:gt status 输出含父子关系的 JSON(适合脚本),gt ls 输出可视树,gt log 查看近期历史。
  • 维护:gt sync 拉取主分支、变基栈并清理已合并分支,gt restack 变基到更新后的父分支,gt undo 撤销上一次 gt 操作。

限制与注意:始终用 gt create 新建分支、用 gt modify 提交、用 gt submit 推送、父分支变更后用 gt restack,不确定时查看 gt status。不要将 git commit/push/rebase 混入 gt 工作流,不要在未了解栈状态时强制推送,不要使用 git rebase -i(会破坏 Graphite 元数据)。栈损坏症状包括分支呈现为同级而非父子、PR 包含错误文件、gt status 显示异常结构,恢复步骤见 recovery.md。更多命令速查见 commands.md。