Bozhidar Batsov 坦承自己直到最近才知道 git worktree 的存在——它进 git 已经十年,而他一直用分支就够了:建分支、写代码、合并、删掉、重来。把他带进 worktree 的居然是 AI 编码智能体:Claude Code 这类工具会为每个任务创建一个 worktree,于是多个智能体(或同一个智能体的多个会话)能在同一仓库上并行工作,互不踩脚,也不会踩到你。代价是他的项目目录里开始堆满 cider-this、cider-that 的兄弟目录。文章讲清了两者区别:分支只是指向某个提交的可移动指针,仓库只有一个工作目录,切分支意味着来回折腾 stash 与重新编译;而 worktree 是挂在同一仓库上的额外交付目录,对象库、引用、stash 与远端全部共享,fetch 一次处处生效,创建近乎瞬时,每个 worktree 有自己的 HEAD 与索引,唯一硬性规则是一个分支同时只能在一个 worktree 里检出。