Git Worktree = 并行工作空间
🎯 学完这课你能
- 理解 Worktree 和 Branch 的区别
- 用三种方式在 CC 中创建 Worktree
- 掌握"试验-合并-或丢弃"的安全工作流
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
CC 怎么用 Worktree
在 CC 中使用 Worktree 非常简单:
--worktree 或 -w
CC 自动创建一个新的 worktree 目录,在里面工作,不影响你的主目录。
CC 会创建 worktree 并切换过去。完成后用 "exit worktree" 回来。
让 Agent 在独立 worktree 中工作,完全隔离,不会跟其他 Agent 冲突。
Worktree 的典型工作流
CC 在 .claude/worktrees/ 下创建新目录,自动基于 HEAD 建新分支。
CC 的所有操作都在这个隔离目录中进行。改坏了也不影响主目录。
结果好 → merge 到 main。结果差 → 删掉 worktree,主目录干干净净。
为什么 Worktree 适合你?
作为 vibe-coder,你经常要试验性地做东西——不确定行不行。Worktree 就是你的"试验田":
- 试验成功 → 收割(merge)
- 试验失败 → 翻地重来(delete worktree)
- 正式版(main)始终安全
实战场景
什么时候只用 Branch 就够了,什么时候该上 Worktree
如果当前就一个任务,没有别的并行需求,普通 branch 通常已经够用,不必为了用而用 Worktree。
一边试新功能、一边修 bug、一边让 Agent 跑别的分支,这种时候 Worktree 的优势就会非常明显。
只要你心里在想“我不想 stash 这些改动,也不想切来切去”,那就是 Worktree 出场的典型信号。
当任务的本质是“成了就收、失败就扔”,Worktree 往往比在主目录里反复试更轻松、更安全。
📝 小测验
Worktree 和 Branch 的关键区别是什么?
📝 小测验 2
你在 worktree 里做了一个实验性功能,结果不满意。应该怎么办?