Git Worktree 可实现多分支并行开发,通过创建独立工作目录使各分支互不干扰,共享同一 Git 数据库以节省空间;使用 git worktree add 命令可新建工作区,每个目录可用独立 VS Code 窗口打开,便于隔离编辑、终端与调试配置;建议统一存放于父目录下并用 workspace 管理组合环境,注意避免同分支多检出,删除时需用 git worktree remove 正确清理。

在日常开发中,经常需要在多个功能分支之间切换,比如修复紧急 Bug 的同时继续开发新功能。频繁切换分支容易带来代码混乱或未提交内容的丢失。VS Code 结合 Git Worktree 能让你真正实现“多分支并行开发”的流畅体验。
什么是 Git Worktree?
Git Worktree 是 Git 2.5+ 引入的功能,允许你为同一个仓库创建多个独立的工作目录。每个工作目录可以检出不同的分支,互不干扰。这意味着你可以:
- 在一个文件夹中保留 main 分支用于发布验证
- 另一个文件夹中保持 feature/login 分支持续开发
- 第三个文件夹专门用于 hotfix/payment 紧急修复
所有工作区共享同一份 Git 对象数据库,节省空间且高效。
如何创建 Git Worktree?
在终端中执行以下命令即可创建新的工作树:
git worktree add ../my-feature-branch feature/login这会在项目上级目录中创建名为 my-feature-branch 的文件夹,并自动切换到 feature/login 分支。你可以直接用 VS Code 打开这个新文件夹,就像打开一个独立项目。
查看当前所有工作区:
git worktree list输出示例:
/project/main ab12c34 [main]/project/my-feature def5678 [feature/login]
/project/hotfix ghi9012 [hotfix/payment]
VS Code 中的最佳实践
VS Code 天然支持多工作区独立编辑,配合 Git Worktree 效果极佳:
- 为每个 worktree 文件夹单独打开一个 VS Code 窗口,标题栏会清晰显示当前分支
- 每个窗口拥有独立的终端、调试配置和扩展状态(如 TODO 检查、代码统计)
- 使用 Workspaces 功能保存常用组合,一键恢复多个分支开发环境
建议将不同 worktree 放在同一父目录下,便于管理,例如:
~/projects/myapp-main/~/projects/myapp-login/
~/projects/myapp-payment-fix/
注意事项与清理
Git Worktree 很强大,但也要注意:
- 不能同时在两个 worktree 中检出同一分支
- 删除 worktree 文件夹前必须先移除它,否则 Git 会保留元数据
正确删除方式:
git worktree remove ../my-feature-branch# 或强制删除(含未合并变更)
git worktree remove --force ../my-feature-branch
基本上就这些。用好 Git Worktree 加 VS Code,你会发现多任务开发变得异常清爽。










