Clipping 微信公众号

AI 编程想多开任务,先学会 git worktree

by 三只橘喵 原文 ↗
Created: 2026-06-29

公众号名称:徐导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 编程多开任务的安全起点。


如果这篇文章对你有一点帮助,欢迎点个赞,也点个在看。


内容效果不满意?点此反馈

输入关键词开始搜索