SuperAPI AI 工具集

version-control

编程与开发

查看项目

更新于 10-16 03:13

技能介绍

用途:该技能面向 GitButler 的虚拟分支工作流,适用于在同一个工作区同时处理多个互不相关的功能、多智能体在同一仓库并发开发、探索式编码(先写后整理),以及需要事后重组提交的场景。官方资料明确说明,不适用于使用 Graphite 的项目(模型不兼容)、简单线性流程(用普通 git),以及需要端到端 PR 自动提交的情况(应改用 Graphite)。

核心概念:虚拟分支可同时应用到工作目录;集成分支 gitbutler/workspace 跟踪虚拟分支状态,不可直接操作;目标分支是所有工作分叉的基线(如 origin/main);文件分配通过 but rub 把文件 hunk 指派到分支;堆叠分支使用 --anchor;oplog 是撤销与恢复的操作日志。与 Git 的关键差异是:所有分支一次可见、编辑后再把文件组织到分支、无需 checkout。

主要能力与用法:初始化 but init;创建分支 but branch new feature-auth;用 but status 查看文件 ID;用 but rub m6 feature-auth 指派文件;用 but commit feature-auth -m "feat: add authentication" 提交。核心循环为创建、编辑、查看、指派、提交并并行重复。but rub 可组合实体:文件 ID 到分支为指派,文件 ID 到提交为追加修改,提交 SHA 到分支为移动提交,提交 SHA 到提交 SHA 为压缩。并行开发与多智能体场景下,各分支可在同一目录独立提交、零冲突。常用命令还包括 but log、but branch new <name> --anchor <parent>、but commit <branch> -o -m "msg"、but publish、but forge auth、but absorb、but oplog、but undo、but snapshot --message "msg"、but base update、but(打开 GUI)。全局标志需放在命令前,例如 but --json status。

完成工作:CLI 缺少合并到 main 或创建 PR 的原生命令,需用 git 集成:先 but snapshot 快照,再 git checkout main、git pull origin main、git merge --no-ff refs/gitbutler/feature-auth、git push origin main,最后 but branch rm 并 git checkout gitbutler/workspace。

AI 集成提供三种方式:Agents 标签页(Claude Code,推荐)、生命周期钩子(PreToolUse/PostToolUse/Stop 中调用 but claude pre-tool 等)、MCP 服务器(but mcp)。

限制与注意事项:虚拟分支上不要用 git commit、git add 或 git checkout;不要推送 gitbutler/integration;不要在同一仓库混用 Graphite 与 GitButler;不要直接管道输出 but status(会 panic),应先捕获到变量;恢复可用 but oplog 与 but undo,损坏时用 but base update,最后手段 but init。