同时处理两个分支时,可以用 git worktree 给每个分支单独的工作目录,省得在同一个目录里反复切换。
环境:Git 2.30+。最小例子:
mkdir worktree-demo && cd worktree-demo
git init -q
git config user.email [email protected]
git config user.name dev
printf 'base\n' > note.txt
git add note.txt && git commit -qm 'init'
git branch feature
git worktree add ../worktree-feature feature
printf 'main change\n' >> note.txt
git worktree list
当前目录还是默认分支,../worktree-feature 则直接停在 feature。两个目录可以分别开编辑器或跑测试。用完执行 git worktree remove ../worktree-feature,主仓库里的提交和分支不会因此被删。