用途:在多个 AI 智能体并发开发时进行协调,适用于多智能体并行开发不同特性、顺序交接(Agent A→Agent B)、提交所有权转移、并行执行与早期冲突检测、以及事后重组多智能体的工作成果。单一智能体工作流不适用,需 PR 自动化的项目更适合 Graphite。
主要能力:多个分支可同时保持应用状态,共享单一工作区,无需 checkout;冲突在共享工作树中即时检测;每个智能体操作自己的 lane。核心命令为 but,例如 but branch new agent-1-auth 创建分支,but rub auth.ts agent-1-auth 将文件分配到分支,but commit agent-1-auth -m "feat: add authentication" 提交。but rub 支持四种操作:分配(but rub m6 claude-branch)、移动/转移(but rub abc1234 other-branch)、压缩(but rub newer older)、修订(but rub file commit)。
使用方式:提供多种工作流模式,包括并行特性开发、顺序交接、跨智能体提交转移、智能体代码审查循环、智能体集群、探索性开发与紧急热修复。AI 集成方式有:Agents Tab(GUI,but gui)、生命周期钩子(如 but claude pre-tool、but claude post-tool、but claude stop、but cursor after-edit)、MCP 服务器(but mcp,暴露 gitbutler_update_branches 工具)、工作区规则(but mark agent-auth-branch)。分支命名规范为 <agent-name>-<task-type>-<brief-description>。
限制与注意事项:重叠文件编辑时相邻行只能归入一个分支;无栈导航 CLI(无 gt up/gt down 等价命令);MCP 服务器目前仅暴露 gitbutler_update_branches 一个工具。智能体任务完成后切勿使用 git commit,否则会破坏 GitButler 状态;应及时分配文件、避免修改锁定到其他分支的文件、并在活动中混用 git 与 but 命令。恢复可用 git reflog、but oplog、but undo。