临时切分支不想来回 stash,可以试试 git worktree

24 次浏览1 条回复

需要同时看两个分支时,可以用 git worktree 在同一个仓库旁边开一份工作目录。环境:Git 2.25+。

git worktree add ../project-review feature/review
cd ../project-review

这样当前目录继续开发,../project-review 可以单独检出 feature/review,两边共享对象库,但工作区和索引互不干扰。看完后清理:

git worktree remove ../project-review

分支已经合并或不再需要时,这个方式比反复 stash 更省心。一个分支不能同时被两个 worktree 检出,创建前留意一下即可。

补一个清理时的细节:先跑 git worktree list 看一下登记的工作目录,确认没有未保存改动再移除。目录如果已经被手动删掉了,可以用 git worktree prune 清掉失效记录。要保留分支本身的话,git worktree remove 只移除工作树,不会顺手删分支。