Git Worktree:一个仓库多线并行开发的利器
开发最烦的就是:改到一半要切分支,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
典型场景
- hotfix 插队:当前分支改到一半,线上要紧急修 bug → 新 worktree 切 hotfix,修完合并,回到原 worktree 继续
- 并行实验:两个方向都想试 → 各开一个 worktree,互不干扰
- review 他人分支:
git worktree add ../review feature/xx直接看代码,不影响当前工作区
注意事项
- 同一个分支不能在两个 worktree 同时 checkout(Git 会拒绝)
- 每开一个 worktree 就是一份完整文件拷贝,大仓库注意磁盘
- 记得用
git worktree remove清理,别让目录越积越多
结论
git worktree 是「多任务开发」的瑞士军刀。配合常规分支流,能让你从「频繁 stash / 切换」里彻底解放出来。