用途:该技能提供 Graphite CLI(gt 命令)的操作知识,用于管理堆叠式拉取请求(Stack),覆盖从初始化到高级堆栈结构的整个生命周期。当请求涉及 gt 命令、堆叠 PR 或 Graphite 工作流时使用。
核心概念:Stack 是一系列小型、增量、相互依赖的分支,每个分支对应独立 PR 并建立在前一个之上;Trunk 是仓库主分支(通常 main 或 master),所有堆栈由其衍生并最终合入其中。
初始化:运行 gt auth 通过令牌连接 GitHub 账户;在仓库根目录运行 gt init 并选择 trunk 分支。
创建与提交:gt create(gt c)创建新分支并提交已暂存更改,替代 git add、git commit、git checkout -b;支持 -m 指定提交信息、-a 暂存全部未暂存更改、-am 合并两者。gt submit 推送当前分支并创建或更新 PR;gt submit --stack(gt ss)推送从 trunk 到当前分支的整个堆栈并为每个分支创建或更新 PR;-d 提交为草稿;gt pr 在浏览器打开 PR 页面。
修改更新:gt modify(gt m)用暂存更改修正当前分支提交,gt modify -a(gt m -a)修正包含所有暂存与未暂存更改的提交。
堆栈管理与导航:gt log short(gt ls)以紧凑树形显示所有被跟踪分支及依赖关系;gt up(gt u)切到子分支,gt down(gt d)切到父分支,gt top(gt t)切到堆栈最高分支,gt bottom(gt b)切到最低分支,gt checkout(gt co)交互选择任意被跟踪分支。
同步与冲突:gt sync 获取远端最新状态、把最新更改拉入 trunk、将所有开放分支重新变基到更新后的 trunk,并提示删除远端已合并或关闭的本地分支。若 gt sync 或 gt modify 因合并冲突暂停,需手动解决冲突文件,运行 git add . 标记为已解决,再运行 gt continue 让 Graphite 完成原操作。
高级堆栈操作:gt move 将当前分支及其子分支变基到新父分支(如 gt move --onto main);gt fold 将当前分支更改压缩合并进父分支并删除当前分支;gt split 按提交或交互选择文件块把当前分支拆分为多个新分支;gt create --insert 在当前分支与父分支之间插入新分支;gt absorb 自动把未暂存更改应用到最相关的下游提交,便于一次分发多个 PR 的反馈修复。
附加资源:references/graphite_cli_guide.md 为完整指南,包含协作(gt get、gt freeze)与多 trunk 支持等详细说明。