Git Worktree = 并行工作空间

Track B: CC 进阶 ~20 分钟

🎯 学完这课你能

这课真正解决的是“上下文切换成本”。
Worktree 不是另一个 Git 花活,而是让你不必为了切任务来回收拾现场、stash 改动、担心污染当前目录。对于爱试验的人,这东西非常实用。

📊 你的 CC 数据说:你目前 zero commits(0 次提交),说明你的工作模式偏向探索和原型验证。这恰恰是 Worktree 最擅长的场景——用隔离的 worktree 做实验,好了就合并,坏了就删掉。结合你的绩效系统开发,下次可以用 worktree 安全地试验 UI 改动,不影响正式版。

第 4 课讲了 Git Branch(分支)是平行宇宙。但分支有个问题:你同一时间只能待在一个宇宙里。想切到另一个分支?得先把当前的工作存好,切换过去,做完再切回来。

Worktree 解决了这个问题:同时打开多个平行宇宙,每个都是独立的工作目录。

Branch = 你有多个项目方案,但只有一张办公桌——每次只能摊开一个方案的资料

Worktree = 你有多张办公桌——每张桌上摊一个方案,随时走到哪张桌子继续工作,不用收拾

当前任务只是实验吗?

如果你本来就不确定这个方向是否成立,Worktree 很适合拿来做“可丢弃试验场”。

手头是否还有别的事要并行做

当你一边做新功能、一边又要临时修线上 bug,Worktree 能让两个上下文都保留住,不用来回清现场。

需不需要完全隔离当前工作目录

如果你不希望试验代码碰到主目录里的改动,或者想让 Agent 各自待在不同工作空间,Worktree 就很合适。

失败后希望一键丢掉吗

如果你心里想的是“成了就合并,不成就当没发生过”,那 Worktree 的工作流会非常顺手。

Branch vs Worktree

普通 Branch main 分支 (活跃) feature 分支 (要切换才能看) 同一时间只能在一个分支工作 Git Worktree main 桌子 A feature 桌子 B bugfix 桌子 C 同时在多个分支工作! CC + Worktree = 超能力 CC 可以同时在多个 Worktree 里启动 Agent,并行开发不同功能

CC 怎么用 Worktree

在 CC 中使用 Worktree 非常简单:

方法 1:启动时加 --worktree-w
claude --worktree

CC 自动创建一个新的 worktree 目录,在里面工作,不影响你的主目录。

方法 2:对话中输入 "start a worktree"

CC 会创建 worktree 并切换过去。完成后用 "exit worktree" 回来。

方法 3:Agent + isolation: worktree

让 Agent 在独立 worktree 中工作,完全隔离,不会跟其他 Agent 冲突。

Worktree 的典型工作流

1
创建 Worktree

CC 在 .claude/worktrees/ 下创建新目录,自动基于 HEAD 建新分支。

2
在 Worktree 中工作

CC 的所有操作都在这个隔离目录中进行。改坏了也不影响主目录。

3
满意就合并,不满意就丢弃

结果好 → merge 到 main。结果差 → 删掉 worktree,主目录干干净净。

为什么 Worktree 适合你?

作为 vibe-coder,你经常要试验性地做东西——不确定行不行。Worktree 就是你的"试验田":
- 试验成功 → 收割(merge)
- 试验失败 → 翻地重来(delete worktree)
- 正式版(main)始终安全

实战场景

场景:你正在做绩效系统的360环评功能,突然发现登录页有个紧急 bug
没有 Worktree:存好当前改动 → 切分支 → 修 bug → 切回来 → 恢复进度——手忙脚乱
有 Worktree:在新 worktree 里修 bug → push → 回到原来的 worktree 继续做360环评——无缝切换

什么时候只用 Branch 就够了,什么时候该上 Worktree

1. 你只做一件事,而且上下文很单纯

如果当前就一个任务,没有别的并行需求,普通 branch 通常已经够用,不必为了用而用 Worktree。

2. 你要并行处理多个上下文

一边试新功能、一边修 bug、一边让 Agent 跑别的分支,这种时候 Worktree 的优势就会非常明显。

3. 你不想收拾当前现场

只要你心里在想“我不想 stash 这些改动,也不想切来切去”,那就是 Worktree 出场的典型信号。

4. 你希望实验失败能彻底丢掉

当任务的本质是“成了就收、失败就扔”,Worktree 往往比在主目录里反复试更轻松、更安全。

📝 小测验

Worktree 和 Branch 的关键区别是什么?

📝 小测验 2

你在 worktree 里做了一个实验性功能,结果不满意。应该怎么办?

← 第 8 课:Hooks 第 10 课:效率飞升实战 →