需求:
- 你在
dev1分支上有很多未提交的改动(即工作区和/或暂存区有内容)。 - 现在要切换到
dev2分支做紧急任务,不希望把 dev1 的改动带到 dev2。 - 等 dev2 的任务做完后,切回
dev1,希望还能看到原来 dev1 的未提交改动。
推荐方案:使用 Git Stash
git stash 可以临时保存当前分支的未提交改动,切换分支后再恢复。
步骤如下:
-
在 dev1 上 stash 当前改动
git stash push -m "dev1 未提交改动" -
切换到 dev2 分支
git checkout dev2 -
在 dev2 上开发、提交等操作
(完成你的紧急任务)
-
切回 dev1 分支
git checkout dev1 -
恢复之前 stash 的改动
git stash pop或者如果有多个 stash,可以用
git stash list查看,再用git stash apply stash@{n}恢复。
说明
git stash会把未提交的内容保存到一个栈里,并还原工作区,使你能干净地切换分支。git stash pop会恢复最近一次 stash 的内容。- 这样,你在 dev2 上开发时不会看到 dev1 的改动,等回到 dev1 时还能找回原来的未提交内容。
总结
你的操作流程就是:
bash
复制
# 在 dev1
git stash push -m "dev1 未提交改动"
git checkout dev2
# ... 在 dev2 开发 ...
git checkout dev1
git stash pop
这样就能完美满足你的需求!
浙公网安备 33010602011771号