用途:该技能用于借助 Graphite(管理堆叠 PR 的命令行工具)创建和管理堆叠提交。适合把一项工作拆成多个小而可审查的提交、处理相互堆叠的多个提交、同步并提交堆叠 PR 的场景。
前置条件:需先安装 Graphite,命令为 brew install graphite-dev || npm install -g @graphite-dev/cli。
主要能力与用法: 查看当前堆叠:gt stack,显示堆叠中所有分支及其状态(已同步、待推送、进行中)。 创建新提交:gt branch create "feat(auth): add JWT authentication",在当前堆叠之上新建分支、打开编辑器填写提交信息(可用 -m 内联)并提交已暂存改动;建议先 git add file1 file2 暂存指定文件,再逐个逻辑单元重复创建。 变基到主干:gt branch restack,把堆叠中所有分支变基到最新 main,提交前或 main 前进后使用。 同步远端:gt branch sync,拉取远端最新改动并重新变基。 提交堆叠 PR:gt branch submit,为堆叠中每个分支创建 PR,浏览器打开首个 PR,后续 PR 链接到它。 继续修改分支:git add . 后执行 gt branch continue,将改动追加到当前分支。 堆叠导航:gt branch checkout @parent 切到父分支,gt branch checkout @child 切到子分支。
工作流示例:git checkout main;gt branch create "feat(api): add user endpoint";git add src/users/;gt branch continue;gt branch create "feat(api): add user validation";git add src/validation/;gt branch continue;gt stack;gt branch restack;gt branch submit。
最佳实践:每个提交只做一个逻辑改动,保证可独立审查;使用约定式提交格式;提交前先 restack;堆叠不宜过深,3-5 个提交较理想;多人协作时经常 sync。
故障处理:restack 冲突时在编辑器中解决后执行 gt branch continue;堆叠损坏可用 gt branch repair 修复 detached HEAD;分支过多可用 gt branch delete <name> 删除(不会删除远端)。
提交信息格式:<type>(<scope>): <subject>,可带可选正文,例如 feat(api): add user profile endpoint、fix(db): resolve connection pool exhaustion、docs(readme): update installation instructions。
限制:资料未提供该技能的收费、价格、支持平台及效果等信息。