arrow_back 全部文章
如何在同一个仓库里并行运行 Claude Code 和 Codex(Git Worktree 分步教程)
并行运行 Claude Code 和 Codexgit worktree AI agent同一仓库并行 AI 编程 agentclaude code git worktreecodex git worktree多个 AI agent 合并冲突claude code worktree 参数

如何在同一个仓库里并行运行 Claude Code 和 Codex(Git Worktree 分步教程)

让 Claude Code 和 Codex 同时在同一个仓库里工作而不互相覆盖:每个 agent 一个 git worktree,任务范围明确的简报,以及安全的合并流程。分步讲解。

Sofia Reyes · Growth & Research · 2026年9月21日 · 6 分钟阅读

给每个 agent 一个独立的 git worktree:一个单独的文件夹加一个单独的分支,与你的仓库共享同一份历史。在其中一个里启动 Claude Code,在另一个里启动 Codex,各给一个范围明确的任务,然后逐个分支审查并合并。两个 agent 在同一个文件夹里会互相覆盖;两个 worktree 则不会。第一次完整走一遍大约需要十分钟。

.git:共享历史 ../myapp-claude branch agent/claude-api Claude Code 在此工作 ../myapp-codex branch agent/codex-ui Codex 在此工作 审查后合并到 main
每个 agent 都有自己的文件夹和分支;只有在你读完 diff 之后才合并。

开始之前你需要准备什么

  • Git 2.17 或更新版本。 Worktree 自 2.5 起就有了;git worktree remove 是在 2.17 加入的。
  • Claude Code 和 Codex CLI,都已安装并登录各自的账号。
  • 一个干净的 main 分支。 先提交或 stash 你的改动。
  • 两个不会改到同一批文件的任务。 第 1 步会教你怎么挑选。
如何在同一个仓库里并行运行 Claude Code 和 Codex(Git Worktree 分步教程)

接入你已经付费的 Claude 或 Codex,其余交给成本只有零头的工作模型。

下载 meshcode →

第 1 步:挑选两个相互独立的任务

适合的拆分 不适合的拆分
重构 src/api/ 里的 API 客户端,同时在 src/ui/ 里写 UI 测试 两个 agent 都在整理认证流程
一个新的接口和它的文档 重命名一个共享类型,而另一个 agent 正在基于它开发功能
后端迁移和前端文案修改 任何两边都会改到 package.json 或 lockfile 的工作

如果两个任务会改到同一批文件,就让它们先后执行。在重叠的文件上并行工作,事后协调的成本比节省的时间还高。

第 2 步:为每个 agent 创建一个 worktree

cd ~/code/myapp
git switch main && git pull
git worktree add ../myapp-claude -b agent/claude-api
git worktree add ../myapp-codex -b agent/codex-ui
git worktree list

每条 git worktree add 都会基于你当前的提交,创建一个同级文件夹和一个新分支。两个文件夹共享同一份 .git 历史,所以创建很快,占用的磁盘也很小。Claude Code 也可以自己创建:根据 Anthropic 的 CLI 参考文档,claude -w api-refactor 会在 <repo>/.claude/worktrees/api-refactor 的独立 worktree 里启动一个会话。

第 3 步:准备好每个 worktree

新建的 worktree 只包含被跟踪的文件。凡是被 git 忽略的内容,比如 .envnode_modules 和构建产物,都不会被复制过来。

cp .env ../myapp-claude/.env
cp .env ../myapp-codex/.env
(cd ../myapp-claude && npm install)
(cd ../myapp-codex && npm install)

给每个开发服务器分配各自的端口(例如 3001 和 3002),并且不要让两个 worktree 指向同一个开发数据库,否则两个 agent 会对同一个 schema 执行迁移。

第 4 步:在各自的文件夹里启动每个 agent

# terminal 1
cd ../myapp-claude && claude

# terminal 2
cd ../myapp-codex && codex

给每个 agent 一份范围明确的简报。下面是一个好用的模板:

任务:重构 src/api/ 中的 API 客户端,改用共享的重试辅助函数。
范围:只改 src/api/ 下的文件及其测试。不要修改 src/ui/、
package.json 或 lockfile。
完成标准:测试套件全部通过,且所有改动都已提交到当前分支。

正是"范围"这一行,让两个 agent 不会跑进对方的文件里。如果你的项目有共用的规则,就把它们放在一份 AGENTS.md 里让两个 agent 都读取;我们关于同时使用两个 agent 的指南介绍了让这一做法生效的 CLAUDE.md 导入方式。

第 5 步:合并前逐个审查分支

cd ~/code/myapp
git diff main...agent/claude-api --stat
git diff main...agent/codex-ui --stat

要读 diff,而不是读 agent 给出的总结。想要第二意见,可以让另一个 agent 审查这个分支,只列出问题而不做任何修改;这种模式在用第二个模型搭建代码审查 agent里有详细介绍。

第 6 步:一次合并一个分支

git merge --no-ff agent/claude-api
npm test
git merge --no-ff agent/codex-ui
npm test

先合并一个、跑测试,再合并第二个,这样冲突和被破坏的假设会一个一个暴露出来,而不是一起冒出来。

第 7 步:清理

git worktree remove ../myapp-claude
git worktree remove ../myapp-codex
git branch -d agent/claude-api agent/codex-ui

如果 git 因为某个 worktree 里有未提交的改动而拒绝删除,请先提交或 stash 这些改动,或者加上 --force 直接丢弃它们。

常见错误与解决办法

现象 原因 解决办法
fatal: 'agent/...' is already checked out at ... Git 只允许一个分支同时出现在一个 worktree 里 为每个 agent 新建一个分支
测试只在新 worktree 里失败 被忽略的文件(.envnode_modules)没有被复制 重做第 3 步
Port already in use 两个开发服务器都用了默认端口 给每个 worktree 分配各自的端口
合并时出现 lockfile 冲突 两个 agent 都改了依赖 让其中一个 agent 独占依赖变更
手动删除后旧的 worktree 文件夹仍然残留 Git 仍然在列表里记着它们 运行 git worktree prune

想省掉这些琐碎的手工操作?

有几款工具可以自动完成 worktree 的搭建,从终端管理器到桌面应用,再到各家厂商自己的应用。我们在适用于 Claude Code 和 Codex 的最佳 AI 工作区里对它们做了比较。

meshcode 的角度

在 meshcode 里,你把两个窗格分别指向两个 worktree 文件夹,一个运行你登录的 Claude Code,一个运行 Codex,并在同一个窗口里同时观察。每个窗格都保留自己的历史,所以你可以打断其中一个而不影响另一个。你的 skills、hooks、MCP servers 和 CLAUDE.md 原样沿用,Claude 和 Codex 直接向你计费,meshcode 不收任何 token 费用。meshcode 自己委派的写入任务,也可以通过按仓库启用的可选设置在隔离的 worktree 里运行。

想亲自看看价格: meshcode 免费开始 — 下载

常见问题

我需要 worktree,还是只用分支就够了?

只用分支不够。不管检出的是哪个分支,同一个工作目录里的两个 agent 在磁盘上仍然共用同一批文件。Worktree 则让每个 agent 拥有自己的文件夹。

两个 agent 可以用同一个分支吗?

不可以。Git 不允许同一个分支同时在两个 worktree 里被检出,而且两个 agent 往同一个分支提交也只会把历史搅乱。

Worktree 会占用多少磁盘空间?

Git 历史是共享的,所以成本就是工作文件,再加上你在每个 worktree 里安装的东西,比如 node_modules

这在 Windows 上能用吗?

能。Git for Windows 支持 worktree,除了路径写法之外,PowerShell 和 Git Bash 里的命令是一样的。

资料来源:git-scm.com 上的 git-worktree 文档以及 Anthropic 的 Claude Code CLI 参考文档,查阅于 2026 年九月 21 日。

👉 下载 meshcode — Mac、Windows