同目录多会话会抢分支

**Git 的 `HEAD` / 当前分支是「目录级」状态,不是「会话级」状态。** 多个 agent 会话打开同一个目录时,其中一个执行 `git switch <branch>`,这个目录的当前分支立刻变了,**其他会话看到的也是这个分支** —— 不是「它影响了别的会话」,而是它们本来就在同一份 working tree 上。

隔离的唯一手段是独立 worktree

git worktree add .worktrees/zoo-19 -b codex/zoo-19-...

独立 worktree 是「分支 + 一个独立文件夹」,各会话的分支才互不影响。

可迁移的判断

遇到「我这边没动,别处却变了」,先确认这个状态的作用域是目录级还是会话级。 分支、.env、构建产物都属目录级;把它们当会话级私有状态用,必然互相踩。

相关