开发最烦的就是:改到一半要切分支,git stash 完又怕丢。git worktree 直接解决——一个仓库可以同时 checkout 多个分支到不同目录

基本用法

# 建一个 worktree(等价于把 feature 分支 checkout 到 sibling 目录)
git worktree add ../shiyi-feature feature/new-feature

# 列出所有 worktree
git worktree list

# 用完移除
git worktree remove ../shiyi-feature

典型场景

  1. hotfix 插队:当前分支改到一半,线上要紧急修 bug → 新 worktree 切 hotfix,修完合并,回到原 worktree 继续
  2. 并行实验:两个方向都想试 → 各开一个 worktree,互不干扰
  3. review 他人分支git worktree add ../review feature/xx 直接看代码,不影响当前工作区

注意事项

  • 同一个分支不能在两个 worktree 同时 checkout(Git 会拒绝)
  • 每开一个 worktree 就是一份完整文件拷贝,大仓库注意磁盘
  • 记得用 git worktree remove 清理,别让目录越积越多

结论

git worktree 是「多任务开发」的瑞士军刀。配合常规分支流,能让你从「频繁 stash / 切换」里彻底解放出来。