6.4 分支、Worktree 与并行任务隔离
面向经管学生、研究者与从业者的 AI 智能体设计教材

本地提交流程建立以后,接下来要解决的是并行任务的隔离问题。AI 协作的难点不在于改得慢,而在于多个目标混入同一条改动线。
什么时候该开分支
只要任务满足下面任意一条,就值得让 Claude Code 开一条分支:
- 这轮修改会持续一段时间,不适合直接压在主线上
- 需要单独审阅
- 失败时要局部回退
- 同时还有另一条改动线在推进
在 Claude Code 中输入:
帮我从当前主线创建一条新分支,名字叫 chapter6-git-rewrite,切换过去。
之后这条线上的提交只服务这一轮目标,不要影响主线。
Claude Code 创建并切换到新分支,后续这条线上的提交就只服务本轮目标。主线代码始终保持可用状态。
Worktree:目录级隔离
分支隔离的是历史线,Worktree 隔离的是工作目录。对 AI 协作来说,目录隔离很关键,因为一个会话通常默认围绕当前目录展开。
如果两条任务线都开在工作区里,切换分支会让文件反复变动,会话状态容易混乱。Worktree 把不同分支检出到不同目录,每条任务线都有自己的工作现场。
让 Claude Code 建立 Worktree:
帮我用 Worktree 在相邻目录创建一个独立工作副本,分支用 nav-fix。
我打算在那里单独推进导航修复,不和当前目录的章节重写混在一起。
Claude Code 会在相邻目录创建新工作树,把 nav-fix 分支检出到那里。你可以让另一条会话在那个目录里单独工作。
Claude Code 中的 Worktree 入口
Worktree 是 Git 原生功能,Claude Code 帮你自动创建和管理。在 Claude Code 中有三种触发方式,从最常用到最自动化:
| 触发方式 | 怎么用 | 适合场景 |
|---|---|---|
| 会话中用自然语言 | 对 Claude 说「在一个独立工作副本里继续」,它会调用内置工具创建隔离副本并切过去 | 工作到一半才发现需要隔离,不想中断当前会话 |
| 启动时直接指定 | 在终端输入 claude --worktree 任务名(简写 claude -w 任务名),会在项目下的 .claude/worktrees/任务名/ 里新建副本并直接开始 |
一开始就想让这次改动和主目录完全隔离 |
| 子代理隔离执行 | 在子代理配置里写 isolation: worktree,子代理在独立临时副本里执行,结束后无改动则自动清理 |
多个子代理并行改不同文件,避免互相覆盖 |
日常用自然语言对话就够,Claude 会处理创建和切换。上面三种入口知道存在即可,需要时再回来查。所有工作副本共享同一份仓库历史,退出时 Claude 会问你是保留还是删除。
对读者来说,更重要的判断不是参数如何记忆,而是这条任务线值不值得拥有独立目录和独立提交线。
判断标准
如果任务只是很小的局部修补,而且不会和其他任务并行,直接在当前分支上小步提交就够了。只有当下面两条同时成立时,才优先考虑 Worktree:
- 任务要并行推进
- 每条任务线都需要独立审阅和独立回退
例如同一天并行处理三件事:
| 任务 | 建议隔离方式 |
|---|---|
| 重写第 6 章 Git 正文 | 一条独立分支 |
| 修第 11 章 Hooks 目录映射 | 另一条分支,必要时单独 Worktree |
| 调整前言中的第二篇顺序 | 改动小可并入同一分支;要反复试改则单独分支 |
关键不在分支越多越好,而在每条改动线都能明确目标。
需要并行推进且独立审阅——开 Worktree;只需隔离历史线——开分支;小修补不并行——当前分支小步提交即可。