Git Worktree:多分支并行开发的利器

Git Worktree:多分支并行开发的利器 Git 的分支功能很强大,但实际开发中经常遇到一个问题:需要在同一时间处理多个任务,比如主分支有紧急 Bug 要修,同时又想在一个新分支上做重构。这时传统的 git checkout 会让你陷入 stash、切换、再 pop 的循环,环境重建也很麻烦。 [ Git 2.6 引入了 git worktree 命令,它允许一个 Git 仓库对应多个工作目录,每个目录可以检出不同的分支,实现真正的并行开发。 什么是 Worktree? 简单说,Worktree 就是一个仓库的多个「分店」。它们共享同一个 .git 目录(包含所有分支历史、提交记录),但拥有独立的文件系统和工作环境。 仓库.git(共享) ├── 主工作树(main 分支) ├── ../feature/(feature 分支) └── ../bugfix/(bugfix 分支) 这样,你可以在不同目录同时编辑不同分支,互不干扰。 核心区别 特性 普通分支 Worktree 工作目录 单一目录,切换分支需 checkout 多个独立目录同时存在 环境隔离 切换分支需重建 node_modules 等 各树独立环境 并行开发 需要 stash 保存变更 无需 stash,直接并行 存储开销 只占指针空间 共享 .git,只复制工作文件 这些差异让 worktree 特别适合一台机器上并行开发多个功能。 基本使用 1. 创建 Worktree 在主仓库执行: # 基于现有分支创建 git worktree add ../feature-branch feature-branch # 创建新分支并检出 git worktree add ../new-feature -b new-feature 创建后,你得到一个新目录 ../feature-branch/,里面是 feature-branch 分支的完整工作树,主目录保持不变。 ...

2026-03-06 · 3 min · 481 words