git worktree 速查指南

核心概念

一个仓库同时检出多个分支到不同目录,互不干扰,无需反复克隆。

最常用命令

# 添加新工作树
git worktree add ../项目名-新分支名 新分支名
 
# 方法1:从当前分支创建新分支的工作树(最常用)
git worktree add -b 新分支名 ../项目目录名
 
# 列出所有工作树
git worktree list
 
# 移除工作树(删除目录后清理记录)
git worktree prune

典型工作流

1. 紧急修 bug(不中断当前工作)

# 当前在 feature 分支开发中,突然要修 main 的 bug
git worktree add ../myproject-hotfix hotfix
cd ../myproject-hotfix
# 修 bug → 提交 → 推送

2. 并行开发多个功能

git worktree add ../myproject-feature2 feature2
cd ../myproject-feature2
git checkout -b feature2-subtask

3. 快速代码审查

git worktree add ../myproject-review pr-123
cd ../myproject-review
git fetch origin pull/123/head:pr-123
git checkout pr-123

删除工作树

rm -rf ../myproject-hotfix   # 删除目录
git worktree prune           # 清理引用

必知要点

  • 主工作树永远不能删除
  • 同一分支不能同时在两个工作树检出
  • 工作树之间共享 .git 目录(节省空间)