在 Google Antigravity 中启动新对话时,你会看到 Local Checkout 和 New Worktree 两个选项。很多人第一次看到时会困惑:既然本地已经有代码了,为什么还要"新建"一个?它和直接从远程 Git 拉一份新代码有什么区别?
简单说,New Worktree 不是从远程重新克隆仓库,而是在你本地已有的 Git 仓库基础上,创建一个共享底层数据、但工作区完全独立的"平行目录" 。它的核心价值在于隔离------让 AI 代理在沙盒里干活,不弄乱你正在用的主工作区。
它和"从远程重新拉取"有什么不同?
很多人会误以为 New Worktree 等于 git clone。实际上,两者有本质区别:
| 对比维度 | New Worktree | 从远程重新 Clone |
|---|---|---|
| 数据来源 | 复用本地已有的 .git 对象数据库 |
从远程服务器重新下载全部历史 |
| 磁盘占用 | 很小(只多出工作文件,不复制历史) | 较大(完整副本) |
| 创建速度 | 快 | 取决于网络和仓库大小 |
| 分支关系 | 可以基于当前本地分支新建,关联紧密 | 通常从远程默认分支开始,相对独立 |
New Worktree 利用的是 Git 原生的 git worktree 机制:多个工作树共享同一个仓库的提交历史、分支引用等底层数据,但每个工作树有自己的 HEAD、暂存区和工作目录。所以它轻量、快速,又能做到工作区隔离。
Local Checkout 和 New Worktree 到底选哪个?
Antigravity 官方文档对这两个模式的定位说得很清楚:
Local Checkout(本地模式) :代理直接在你当前打开的项目文件夹里干活。适合快速、交互式的编辑。你改了什么,AI 改了什么,都在同一个目录里,实时可见。但风险也在这里:如果你自己也在改代码,或者同时开了另一个对话让 AI 做别的事,两边很容易互相干扰。
New Worktree(新工作树模式) :代理在一个全新的、隔离的目录里工作。适合复杂任务 ,或者你希望保持当前工作区完全不受影响 的场景。官方特别强调了一个用法:当你需要同时运行多个 AI 代理 时,每个代理都应该用 New Worktree,这样它们各自有独立的工作树,不会因为争抢同一个文件或分支而冲突。
实际场景怎么选?
选 Local Checkout 的情况:
- 让 AI 帮你改一个拼写错误、调整一下样式
- 你想一边让 AI 写,一边盯着它改了什么
- 只是问个问题,或者做点小修小补
选 New Worktree 的情况:
- 让 AI 重构一个模块、实现一个新功能
- 你想同时开两三个对话,让它们并行处理不同任务
- 你对 AI 的产出没把握,想先让它在一个"副本"里折腾,满意了再合并
还有一个细节值得注意:如果你的项目里混有 Git 仓库和普通文件夹(比如前端是 Git 仓库,但某个资源目录没有纳入 Git),New Worktree 会为 Git 部分创建隔离的工作树,而普通文件夹仍然直接操作。这意味着隔离只针对 Git 管理的部分,非 Git 的本地文件夹行为不变。
不止 Antigravity:哪些 AI 代理工具也有这种模式?
Worktree 隔离正在成为 AI 编程代理的"标配"。海内外的主流工具都在通过它解决同一个痛点:让多个代理并行干活,而不互相踩脚。
国外工具
- Claude Code(原生支持) :CLI 层面直接内置
--worktree参数,主会话和子代理都可以在独立工作树中运行,任务结束后自动清理无变更的临时工作树。 - Jean(多代理工作台):核心哲学就是"每个任务都有自己的 git worktree",支持并行运行 Claude、Codex、Cursor、OpenCode 甚至 Antigravity 等多种代理。
- T3 Code(开源 GUI):将 Git worktree 隔离作为杀手级功能,支持 Codex、Claude Code、Cursor、OpenCode 和 Antigravity 等运行时。
- MindFlock(工单驱动):轮询 Jira、Linear、GitHub Issues,为每个任务自动创建隔离的 worktree 和分支。
- whiletrue(流水线工具) :在配置中将 workspace 设为
git-worktree,每个并行任务在各自的工作树中执行,最后流水线合并。 - 此外还有
treebox、swarmgit等基础设施层工具,专门为现有代理自动创建和管理 worktree。
国产工具
- Trae(字节跳动):在 Code 模式中集成工作树功能,输入框左下角切换"工作树"模式,智能体自动创建专属分支和独立目录,完成后支持 AI 自动合并或手动合并。
- Qoder(阿里):1.0 版本将 Worktree 作为任务执行环境的核心能力,每个 Quest 任务在隔离的 worktree 中运行,Agent 修改、用户 Review、Commit 都绑定到该任务的执行边界。
- Qwen Code(阿里通义千问) :CLI 工具,通过
--worktree参数启动即进入独立工作树,还支持--worktree=#<N>直接拉取远端 PR 到隔离环境中 review,并可通过symlinkDirectories配置把node_modules等重型目录符号链接回主仓库,避免重复安装依赖。 - CodeBuddy(腾讯) :CLI v2.55.0 加入 Worktree 支持,
--worktree参数启动隔离环境,Agent 可通过EnterWorktree工具在会话中动态创建,子代理任务自动继承 worktree 工作目录,退出时自动清理无变更的工作树,还支持通过 hook 机制为 SVN、Perforce 或无版本控制的项目实现隔离。 - 文心快码 Comate(百度):Mission 模式支持 Local、Worktree、Cloud 三种执行环境,Worktree 模式让 AI 在独立代码副本中工作,主干完全不受影响。
一句话记住
Local Checkout 是让 AI 坐你工位旁边,用你的电脑干活;New Worktree 是给 AI 在旁边开了一台新电脑,共享同一个项目硬盘,但桌面和键盘各用各的。 复杂任务、并行任务、高风险任务,选后者更稳妥。而无论你用 Antigravity、Claude Code,还是 Trae、Qoder、Qwen Code,这套"平行工位"的思路正在成为 AI 代理工具的通用设计语言。