.git
Git仓库中的.git/目录相当于一个隐藏的档案室,里面保存了git仓库每次修改的历史记录以及所有分支
Git Worktree
正常情况下,一个仓库只有一个工作目录,切换分支时文件会发生变化。
但场景往往是,我在dev分支写代码,我不想让Claude改乱我的分支,所以就需要让Claude在另一个分支改东西。这样会导致时不时的切换分支,会打乱我的工作。
git worktree 就是用来解决这个问题的,其允许同一个仓库对应多个工作目录,即:
txt
sglang/
|-- .git/
|-- HEAD # 记录我的工作目录下,我当前的分支(dev)
|-- worktrees/ # .git/worktrees/里有几个文件夹,就代表有几个额外的worktree,目前只有claude创建的这一个
|-- compassionate-visvesvaraya/
|-- HEAD # 记录该worktree签出的分支(claude/compassionate-visvesvaraya)
|-- gitdir # 反向指针,指向worktree里那个.git文件
|-- .claude/worktrees/
|-- compassionate-visvesvaraya/
|-- .git
也就是,Claude给自己创建了一个独立的平行工作区(worktree),签出到自己的专属分支,这样它改代码就不会影响我正在开发的dev分支。我们共用同一个github仓库,但各自在不同分支上工作