需求:

  • 你在 dev1 分支上有很多未提交的改动(即工作区和/或暂存区有内容)。
  • 现在要切换到 dev2 分支做紧急任务,不希望把 dev1 的改动带到 dev2
  • 等 dev2 的任务做完后,切回 dev1希望还能看到原来 dev1 的未提交改动

推荐方案:使用 Git Stash

git stash 可以临时保存当前分支的未提交改动,切换分支后再恢复。

步骤如下:

  1. 在 dev1 上 stash 当前改动

    git stash push -m "dev1 未提交改动"
    
  2. 切换到 dev2 分支

    git checkout dev2
    
  3. 在 dev2 上开发、提交等操作

    (完成你的紧急任务)

  4. 切回 dev1 分支

    git checkout dev1
    
  5. 恢复之前 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

这样就能完美满足你的需求!

posted on 2025-06-16 18:34  卡米i  阅读(4)  评论(0)    收藏  举报