如果一个分支在跑测试,手头又要临时修另一个分支,不一定要反复 stash 和 switch。Git 的 worktree 可以给同一个仓库挂多个工作目录。
环境:Git 2.25+,在仓库根目录执行:
git worktree add ../app-hotfix hotfix/login
这样会在上级目录创建 app-hotfix,并检出 hotfix/login。原目录可以继续留在当前分支。
看当前挂了哪些工作目录:
git worktree list
用完后先删除对应目录:
git worktree remove ../app-hotfix
同一个分支不能同时被两个 worktree 检出;如果只是临时并行处理两个分支,这个限制反而能避免误操作。