
如何在同一个仓库里并行运行 Claude Code 和 Codex(Git Worktree 分步教程)
让 Claude Code 和 Codex 同时在同一个仓库里工作而不互相覆盖:每个 agent 一个 git worktree,任务范围明确的简报,以及安全的合并流程。分步讲解。
给每个 agent 一个独立的 git worktree:一个单独的文件夹加一个单独的分支,与你的仓库共享同一份历史。在其中一个里启动 Claude Code,在另一个里启动 Codex,各给一个范围明确的任务,然后逐个分支审查并合并。两个 agent 在同一个文件夹里会互相覆盖;两个 worktree 则不会。第一次完整走一遍大约需要十分钟。
开始之前你需要准备什么
- Git 2.17 或更新版本。 Worktree 自 2.5 起就有了;
git worktree remove是在 2.17 加入的。 - Claude Code 和 Codex CLI,都已安装并登录各自的账号。
- 一个干净的 main 分支。 先提交或 stash 你的改动。
- 两个不会改到同一批文件的任务。 第 1 步会教你怎么挑选。
接入你已经付费的 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 忽略的内容,比如 .env、node_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 里失败 | 被忽略的文件(.env、node_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
更多博客文章
Claude Code 和 Codex 可以同时使用吗?(2026 指南)
可以。Claude Code 和 Codex 各有独立的登录、计费和用量限额,今天就能在同一个项目里同时运行。本文讲怎么搭建、会出什么问题,以及要花多少钱。
同时运行 Claude Code 和 Codex 的最佳 AI 工作区(2026)
终端窗格加 git worktree、Claude Squad、Conductor、Zed、Codex 与 Claude 桌面应用、Vibe Kanban 和 meshcode 横向对比:各自能跑什么、价格多少、适合谁。
什么是 AI 工作区?通俗易懂的解释
AI 工作区是围绕并行的智能体会话、而不是单个聊天窗口搭建的桌面环境——它与编码编辑器有何不同,以及同时运行多个智能体到底是什么样子。