Git worktree:让多个 AI agent 并行工作而不互相冲突的基础

并行运行时,你的 agent 会互相覆盖对方的工作。Git worktree 用两条命令就能解决。这篇文章告诉你怎么用。

你在同一个仓库上启动了两个 agent。一个在改 package.json,另一个也在改。三十秒后,你的代码变成了谁都没法合并的状态。

这不是 agent 的 bug,而是因为它们都在同一个文件夹里干活。

解决办法是一个 Git 已经支持多年、却几乎没人用的工具:git worktree

问题所在:3 个 agent,1 个仓库,根本没法合并

一个普通的 Git 仓库就是一个文件夹,同一时间只能签出一个分支。你在 main 上工作,切换分支时整个文件夹都会跟着变。

现在往这个文件夹里塞进三个自主 agent。它们会同时写文件。Agent A 创建了一个文件,agent B 跑了个 git checkout 想从干净状态开始,结果把 A 正在做的工作全冲掉了。最后你得到的是一堆写了一半的文件、被搞乱的索引,以及一堆冲突,解起来比你自己写代码还费劲。

只有 agent 之间互不干扰,并行才能真正帮你省时间。

git worktree 是什么

worktree 就是挂在同一个仓库上的第二个工作文件夹。

历史相同、远程相同,但每个 worktree 都签出自己的分支,磁盘上也有自己的一套文件。你可以同时摆五个,每个在不同的分支上,互不打扰。

一个 .git,多个工作区。就这么简单。

实战:每个 agent 一个 worktree

下面是具体做法。在你的仓库里执行:

git worktree add ../project-auth -b feature/auth
git worktree add ../project-billing -b feature/billing
git worktree add ../project-export -b feature/export

你刚刚创建了三个文件夹,每个都在自己的分支上。然后在每个里启动一个 agent:

cd ../project-auth && claude
cd ../project-billing && codex

每个 agent 都有自己的文件夹、自己的分支、自己的文件。auth agent 永远看不到 billing agent 在干什么。不可能撞车。

某个功能做好后,你审查它的分支然后合并。接着清理:

git worktree remove ../project-auth

文件夹没了,分支还留在你的历史里。干净利落。

需要知道的 3 个坑

第一个坑:共享的中心文件。如果两个功能都得动同一个 routes.ts 或同一个数据库 schema,worktree 救不了你,合并的时候照样冲突。一旦某个 agent 碰了大家共用的文件,其他 agent 就得等,或者绕着走。

第二个坑:分支跑偏。你的 agent 在干活的同时,main 也在往前走。三天后你的分支已经落后一截,合并起来就很痛苦。要么趁早、勤快地 rebase,要么把每次会话控制得短一点。

第三个坑:忘了清理。每个 worktree 都是磁盘上真实存在的文件夹。一天开十个又不清理,你的父目录很快就乱得没法看了。git worktree list 能列出还留着哪些,git worktree prune 能清掉已经失效的。

真正的问题:谁来盯着这五个文件夹?

worktree 解决的是文件冲突,但解决不了你的心智负担。

你有五个文件夹、五个 agent、五个终端。哪个在等你审查?哪个十分钟前就跑完了、而你当时正看着别处?哪个崩了?

如果你一直待在终端里,这就是"每个 agent 一个 worktree"这套做法的天花板。技术上的冲突你解决了,但要盯的窗口也翻了好几倍。

AgentsRoom 把每个 agent 放到一块独立的卡片上,带着它的状态和颜色,不管它跑在哪个 worktree 里。某个 agent 一旦在等你,它就会变红并提醒你。想了解叠加在 worktree 之上的完整方法,读一读如何并行运行 3 到 8 个 agent 而不手忙脚乱

核心要点

一个 agent,一个 worktree,一个分支。这就是认真做多 agent 工作的基本规则。

命令三行就写完,好处立竿见影:你的 agent 不再互相覆盖。再加上一个能告诉你哪个 agent 需要你的视图,你就真的能同时扛住五件事,而不至于把自己逼疯。

下载 AgentsRoom

在一个窗口中运行你所有项目的 Claude 智能体。

免费下载 AgentsRoom

配套应用:随时随地监控你的 Agent

使用 Claude、Codex、Gemini CLI 或其他 AI 提供商。

获取扩展
Chrome Web Store

把 Bug 和需求直接发送到您的公开待办清单。

AgentsRoom 实际运行一瞥。

多项目管理
多供应商
多代理运行
实时状态
文件差异与提交
移动应用
实时预览
代理团队
浏览器自动化
Backlog 驱动开发
提示词库
技能库
查看所有功能