要同时修 bug、跑测试,又不想把当前工作区改来改去,可以给同一个仓库挂多个工作目录。环境:Git 2.25+。
git worktree add ../app-fix fix/login
git worktree add ../app-test main
这样 ../app-fix 和 ../app-test 各自保持独立的工作区,但共享 Git 对象和大部分仓库元数据,通常比再 clone 一份轻。用完可以检查:
git worktree list
git worktree remove ../app-test
同一个分支不能同时被两个 worktree 签出;临时分支可以直接创建:git worktree add -b review ../app-review origin/main。删掉目录后,最好再跑 git worktree prune 清理失效记录。