3 个 AI 同时写代码:我用 Git Worktree 提升开发效率 3 倍

现在 AI 编程工具有很多,Claude code、Codex、Gemini,国内的 GLM、Minimax、Kimi

那你有没有遇到过这样一种情况?

我想要开发一个新功能,但是我不确定哪一个模型能够实现的最好。

所以我希望可以多个模型围绕同一个功能并行去开发,最终挑选效果最好的那一个版本留下来。

怎么去实现呢?

有人说可以使用 Git 分支功能去实现,大致过程是这样的:

假设我们现在有一个主分支 main,上面存放着我们的基础代码。现在我想要开发一个新功能,这个新功能我让三个模型同时去开发。

那么此时我需要拉三个分支出来:

  • feature-codex
  • feature-claude
  • feature-gemini

让各个模型在自己的分支上写代码,最终选择最好的版本,merge 到主分支上。

这种方案有什么问题呢?

有过开发经验的小伙伴会知道,这是一个人类世界里非常标准的方案。但是放到 AI 上就会有很多隐形问题。

1)上下文 & 工作区来回切换成本很高

用这种方案,你需要频繁的去切换分支。相对应的就是下面的命令,你会频繁的去执行。

PLAIN

复制代码
git checkout feature-claude
让 Claude 改代码

git checkout feature-gemini
让 Gemini 改代码

这些命令虽然可以借助 AI 去执行,但是对于你本人来说,容易造成心智负担 + 手滑。

2) AI 对「分支状态」理解很容易出错

不同的分支切换来切换去,AI 很容易忘了自己当前在哪一个分支。上下文也会被污染。

AI 非常容易在错误的分支上继续修改。所以你可能需要不停的提醒 AI,「你当前在 feature-claude 分支」

这在开发阶段非常让人烦躁。

3)合并冲突集中爆发

等你好不容易开发好了,准备把代码合并到主分支上的时候。

你会遇到:

  • Claude 的方案最好
  • 但 Gemini 也改了公共组件
  • Codex 改了样式
  • 你 merge 的时候突然一堆冲突

原本是想让几个模型并行开发,等他们开发完,挑选一个比较好的方案,但是实际上在合并代码的时候,却要处理无数的冲突。

所以分支方案不太可行。

那真正可行的方案是什么呢?

就是 Git worktree,这才是「AI 并行开发」的隐藏神器。

一句话把 Git Worktree 解释清楚:

同一个 Git 仓库,多个物理目录,每个目录绑定一个分支

直观结构:

PLAIN

bash 复制代码
project/
├── main/                # 主分支
├── wt-claude/           # Claude 的工作区
├── wt-gemini/           # Gemini 的工作区
└── wt-codex/            # Codex 的工作区

上面的工作区都是真实的磁盘文件夹,每个目录都有独立的文件状态,互不干扰。

具体用法:

1)开 worktree

PLAIN

bash 复制代码
git worktree add ../wt-claude feature-claude
git worktree add ../wt-gemini feature-gemini
git worktree add ../wt-codex feature-codex
  • Claude:只操作 wt-claude
  • Gemini:只操作 wt-gemini
  • Codex:只操作 wt-codex

这样,AI永远不会写错分支。

2)验证效果

当 AI 在不同的 worktree 开发完了之后,你可以浏览器开 3 个 tab,分别跑:

  • localhost:3001
  • localhost:3002
  • localhost:3003

然后挑选一个最好的版本。

3)合并

比如说,claude 给出的版本是最好的,那么直接:

SHELL

css 复制代码
git checkout main
git merge feature-claude

其他两个直接删掉,没有任何心理负担

SHELL

arduino 复制代码
git worktree remove ../wt-gemini
git worktree remove ../wt-codex
git branch -D feature-gemini feature-codex

实操演示

具体场景:

我们现在项目文件夹下有一个 index.html 文件,它是一个 todo 类的网页应用,现在我们想让 Claude / Codex / Gemini ,同时帮我们去优化一下页面样式,然后我们挑选一个最好的版本。

目前主分支的版本:

0、准备阶段

1)确保主分支是干净的

SHELL

vbnet 复制代码
使用命令:
git status


你应该看到:
On branch main
nothing to commit, working tree clean

首先确保主分支是干净的,之后才不会乱。

2)现在的目录结构

SHELL

复制代码
todohtml/
├── index.html/

1、从 main 拉出 3 个分支(先不用 worktree)

SHELL

复制代码
git branch todohtml-claude
git branch todohtml-codex
git branch todohtml-gemini

检查一下是否创建成功:

SHELL

复制代码
git branch

创建成功你会看到:

2、用 git worktree 把它们「实体化成目录」

CODE

csharp 复制代码
语法:git worktree add <新路径> <基于的分支>
git worktree add ../todohtml-claude todohtml-claude
git worktree add ../todohtml-codex todohtml-codex
git worktree add ../todohtml-gemini todohtml-gemini

上面命令执行前目录:

上面命令执行后目录:

注意:上面4个都是真实的磁盘目录,不是概念

3、确认每个目录绑定的分支

进入每个文件夹目录,确认目录和分支绑定一致。

SHELL

bash 复制代码
cd ../todohtml-claude
git branch --show-current

4、改代码

开三个终端窗口,每个窗口打开一个目录。

  • Claude → 只看 / 只改 todohtml-claude
  • Codex → 只看 / 只改 todohtml-codex
  • Gemini → 只看 / 只改 todohtml-gemini

把同样的功能,同样的提示词,发给三个不同的模型,让它们并行开始工作。

提示词:

帮我优化一下当前这个网页的样式让它变得更美观好看。

5、验收

等三个模型都改完了之后,你就把项目跑起来,看一下它们各自修改的结果,挑选一个你最满意的版本。

Claude 版本:

Codex 版本:

Gemini 版本:

6、合并你选中的分支

假如我们选中的是Gemini 版本,那我们需要把这个分支合并回我们的主分支。

SHELL

bash 复制代码
cd ../todohtml
git checkout main
git merge todohtml-gemini

7、清理不用的 worktree

把不用的 worktree 删除

SHELL

arduino 复制代码
git worktree remove ../todohtml-claude
git worktree remove ../todohtml-codex

然后删分支:

SHELL

复制代码
git branch -D todohtml-claude
git branch -D todohtml-codex

现在的状态是:

SHELL

bash 复制代码
worktree-demo/
├── todohtml/        # main + 已合并最佳方案
└── todohtml-gemini  # 还可以保留或一起删

到这里一次完整并行 AI 开发就结束了。

常见的 git worktree 命令

相关推荐
枯木◊靠推文躺平版1 小时前
2026最新6款AI编程工具基础版免费实测合集
ai编程
四七伵2 小时前
Codex 每轮到底消耗多少 Token?我给 Hook 加了个新功能
gpt·ai编程·vibecoding
Rain的Java大神之路2 小时前
Java 工程师做 AI,核心机会在「落地」而非「训练」
java·后端·ai编程
坊钰2 小时前
【LangGraph框架入门级】4. 支持联网搜索的智能代理系统
python·ai编程·langgraph
Rain的Java大神实战圈2 小时前
Java 工程师做 AI,核心机会在「落地」而非「训练」
ai编程
吴佳浩 Alben3 小时前
一文讲透推理引擎性能指标:TTFT、TPOT、KV命中率、并发,到底对应 vLLM / SGLang 的哪个参数?
人工智能·python·语言模型·架构·ai编程·vllm·sglang
OpsEye3 小时前
开源 AI 网关自研 vs 商用,企业该怎么权衡取舍
javascript·ai编程
ServBay3 小时前
小扎的豪赌交卷了,Meta Muse Wonder 能碾压GPT和Opus吗?
meta·aigc·ai编程
前端双越老师3 小时前
程序员 1v1 访谈系列第二期:很焦虑但又不知道干啥
前端·ai编程·全栈
乘风gg4 小时前
一个人一个月合并 2500 PRs 的秘密是什么?
前端·ai编程·claude