词元广场TOKPUB.COM - 欢迎您,支持一个 Key 调用近 600+ 海内外模型,限时特价模型低至 1 折,欢迎上岸!
💡 一句话总结: git worktree让你在同一个仓库中同时检出多个分支,切换就是cd,不用 stash。
/workspaces 快速切换工作区feature/new-api 分支开发新功能,代码改了一半。突然:hotfix 紧急修复确保你已经完成以下事项:
# 传统方式:一个目录,一次只能在一个分支
my-project/ ← 只能是 main 或 feature,不能同时
# Worktree 方式:多个目录,多个分支并行
my-project/ ← main 分支
my-project-hotfix/ ← hotfix 分支(独立的目录)
my-project-review/ ← PR 分支(独立的目录)| 对比项 | git stash | git clone | git worktree |
|---|---|---|---|
| 磁盘占用 | 无 | 高(完整复制) | 低(共享 .git) |
| 分支并行 | ❌ 串行 | ✅ 并行 | ✅ 并行 |
| 上下文保留 | ❌ 丢失 | ✅ 独立 | ✅ 独立 |
| 同步成本 | 无 | 高(分别 fetch) | 低(共享数据) |
| 适用场景 | 临时切换(几分钟) | 需要完全隔离 | 长期并行开发 |
git worktree add ../hotfix hotfix-branch:../hotfix/hotfix-branch 的文件放到这个目 录.git 是一个文件,指向主仓库git fetch 一次,全部更新/path/to/your-project abc1234 [main]main 分支,需要去 hotfix/login 修 bug:Preparing worktree (checking out 'hotfix/login')
HEAD is now at abc1234 Fix login validation../项目名-分支名),而不是项目内部。git worktree add ./hotfixgit worktree add ../my-project-hotfix/path/to/your-project abc1234 [main]
/path/to/my-project-hotfix def5678 [hotfix/login]