在类似 Claude Code 这类现代 AI 程序员桌面端(此处为特定客户端界面)中,引入了基于 Git 概念的 "工作树 (Worktree)" 和 "派生/分叉 (Fork)" 机制。这是为了让你在让 AI 改代码时,既能多任务并行,又不会把本地的主代码库搞乱。



结合你提供的三张截图,我们来彻底理清这几个核心功能点的区别:
1. 创建永久工作树(项目级操作)
- 对应位置 :
image_bf33b2.png(右键点击"项目名称"时出现的菜单) - 功能释义 :在本地为该项目创建一个独立的、长久存在的 Git 工作区文件夹(Git Worktree)。
- 使用场景 :
默认情况下,AI 可能会在同一个临时目录下帮你干活。但如果你想让这个项目长期保持双线作战(比如一个工作区用来开发新 Feature,另一个原汁原味的项目区用来修紧急 Bug),你就为它创建一个"永久工作树"。它会在你的本地硬盘上真正生成一个新的并行目录,直到你手动移除它。
2. 派生到本地 VS 派生到新工作树(对话/会话级操作)
- 对应位置 :
image_bf336c.png(右键点击某个具体"对话/会话"时出现的菜单) - 两者的核心区别:
① 派生到本地 (Fork to Local)
- 动作 :以此段对话的历史上下文为基础,在当前已经打开的本地目录/分支中切出一个新方向继续聊。
- 影响:AI 接下来的改动会直接作用在你当前的本地文件上。
② 派生到新工作树 (Fork to New Worktree)
- 动作 :克隆当前的对话状态,但同时在本地开辟一个全新的、干净的 Git 工作树(隔离目录)。
- 影响 :AI 接下来的所有读写文件、运行命令、编辑代码,都在那个全新的隔离目录里进行,绝对不会污染你正在写的本地代码。这非常适合用来让 AI 做一些激进的实验(比如"尝试重构整个底层架构")。
3. 分叉 / Fork(消息/步骤级操作)
- 对应位置 :
image_bf338d.png(鼠标悬停在 AI 某一步特定的执行历史/消息卡片上出现的图标) - 功能释义:这是最细粒度的"时光倒流/平行宇宙"功能。
- 使用场景 :
比如 AI 连续做了 5 步改动,在第 3 步时其实已经改得差不多了,但第 4、5 步它"抽风"把代码改得一团糟。你不需要推翻重来,直接回到第 3 步(如你图中所指的步骤),点击那个"分叉"图标。 - 结果:客户端会从那一秒钟的状态切出一个新的对话分支。第 4、5 步的错误历史会被抹去或留在旧分支里,你可以引导 AI 从第 3 步正确的方向重新走另一条路线。
💡 总结成一句话记忆卡片:
- 创建永久工作树 :在本地硬盘上多生一个项目的克隆躯壳,方便长期多任务并行。
- 派生到新工作树/本地 :把整场对话复制一份,选择是在"干净的安全屋(新工作树)"里继续让 AI 试错,还是在"当前屋子(本地)"里继续。
- 分叉(Fork) :对 AI 的某一步表现不满意,从那一刻的历史节点坐时光机切出平行宇宙重新调教。