AI 编程想多开任务,先学会 git worktree
公众号名称:徐导AI笔记
作者名称:三只橘喵
发布时间:2026-06-29 10:34
一个人同时让 Claude Code 修 bug,让 Codex 重构页面,让 Copilot CLI 改文案,看起来很爽。
但如果这几个 AI 都挤在同一个项目目录里改代码,很快就会变成一锅粥。
一个 agent 改了登录逻辑,另一个 agent 同时改路由。一个测试刚失败,另一个又基于失败状态继续改。最后你打开 git diff,只看到一堆混在一起的改动。
AI 编程最怕的不是改得慢,而是改动来源不清楚。
这篇只讲一个很实用的工具:git worktree。
它不是 AI 工具,但在 AI 编程开始并行之后,它会变得越来越重要。
1. worktree 是什么?
你可以把普通 branch 理解成:在同一张工作台上换任务。
git worktree 更像是:给每个任务单独开一张工作台。
同一个 Git 仓库,可以同时有多个独立目录。每个目录 checkout 一个 branch。你不用反复 stash,不用来回切分支,也不用重新 clone 一份项目。
可以这样理解
一个任务,一个 branch,一个 worktree。每个 AI agent 只在自己的目录里工作。

图:一个项目拆成多个独立 worktree,每个 AI 只处理自己的任务
2. 为什么 AI agent 不该挤在同一个目录里?
以前你一个人写代码,同一个目录里切来切去,问题不算大。你知道自己刚刚改了什么。
AI agent 不一样。
它会读文件,会改文件,会跑命令。有时候它还会顺手改一些你没要求它改的地方。
常见翻车场景: • 一个 agent 改登录,另一个 agent 改路由,最后文件冲突。 • 一个 agent 跑测试失败,另一个 agent 继续基于失败状态改。 • 你让 AI 回滚,它不知道哪些改动是它自己做的。 • 最后 git diff 里混着 bug fix、UI 重构、文案修改。 • 多个任务混进一个 branch,PR 很难 review。
worktree 的价值,就是把每个 AI 任务隔离成一个独立工作区。
3. 最小可用流程:一个任务,一个 branch,一个 worktree
假设你现在有 3 个任务:
• 修登录失败的问题
• 重构设置页 UI
• 修改付费墙文案
不要在一个目录里连续扔给 AI。先开 3 个 worktree:
git worktree add ../app-fix-login fix-login
git worktree add ../app-refactor-settings refactor-settings
git worktree add ../app-update-paywall-copy update-paywall-copy
这里的 ../app-fix-login 是新的工作目录,fix-login 是对应 branch。
进入每个目录之后,再分别打开不同 AI 工具:
cd ../app-fix-login
claude
cd ../app-refactor-settings
codex
cd ../app-update-paywall-copy
copilot
重点不是工具名。重点是每个 AI 只在自己的目录里改自己的任务。
4. 任务要小,不要一个 worktree 里塞大杂烩
worktree 解决的是隔离问题,不是需求不清楚的问题。
你给 AI 的任务越含糊,它越容易扩大范围。
好任务
• 修复登录页验证码错误提示不显示
• 把设置页按钮样式统一成现有 design system
• 给 paywall 增加 yearly plan 的 fallback 文案
坏任务
• 优化一下登录
• 整理一下 UI
• 改改付费墙
• 帮我看看整个项目有什么问题
一个 worktree 最好只放一个明确任务。这个任务应该可以独立提交、独立测试、独立回滚。
5. 每个 worktree 都要单独验收
不要相信 AI 自己说“完成了”。
每个 worktree 结束前,让 AI 做一次验收。重点不是让它夸自己,而是让它暴露风险。
请在结束前做一次验收。
只检查当前 worktree 的改动。
输出:
1. 改了哪些文件
2. 每个文件为什么改
3. 是否有任务范围外的改动
4. 已经跑过哪些测试
5. 还缺哪些测试
6. 可能影响哪些旧功能
7. 建议我重点人工 review 哪几处
AI agent 可以写代码,但合并权要留在人手里。
6. 合并时不要三个任务一起 merge
每个 worktree 完成后,先看 diff。
git status
git diff
确认没问题,再提交:
git add .
git commit -m “Fix login error message”
回到主目录,逐个合并:
git switch main
git merge fix-login
合并顺序建议
1. 先合最小、最安全的改动
2. 再合 UI / 文案类改动
3. 最后合重构类改动
每合一个任务,就跑一次测试。这样出问题时,你知道是哪一个任务引入的。
7. 用完怎么清理 worktree
任务完成并合并后,不要直接手动删目录。用这个命令:
git worktree remove ../app-fix-login
查看当前有哪些 worktree:
git worktree list
如果你以前手动删过目录,可以清理无效记录:
git worktree prune
8. 哪些任务适合用 worktree?
适合
• 修 bug
• 小功能
• UI 局部重构
• 文案 / 本地化修改
• 测试补充
• 独立模块重构
不适合
• 大规模架构调整
• 数据库迁移
• 全局依赖升级
• 多模块强耦合改造
• 你自己都没想清楚的需求
判断标准很简单:
如果这个任务可以独立提交、独立测试、独立回滚,就适合放进一个 worktree。
结尾:AI 并行开发的重点不是多开,而是隔离
AI 编程以后一定会越来越并行。
但多开 agent 不等于提高效率。如果没有隔离,每个 agent 都可能把项目改成一锅粥。
git worktree 的价值很简单:
一个任务。
一个目录。
一个 branch。
一次验收。
一次人工合并。
这才是 AI 编程多开任务的安全起点。
如果这篇文章对你有一点帮助,欢迎点个赞,也点个在看。
内容效果不满意?点此反馈