背景:在a分支做了某些修改后,由于一些原因,不能将修改提交到该分支,希望能迁移到b分支:
法一
在a分支新建b分支,则此时b也能拥有a分支上做的修改,接下来在b分支上提交修改即可。
法二
- 在当前分支中: git stash
- 切换到b分支:git checkout dev
- 将修改同步到a分支:git stash apply / git stash pop
git stash apply 和 git stash pop 区别
git satsh 会对修改的内容新建一个list去管理,可通过 “git stash list” 查看。
“git stash pop” 获得当前分支的最后一次缓存的内容后,会将它从list
里删除。
“git stash apply” 不会删除,会保留记录。因此可以通过在list里查看版本号获得特定的内容,如,“git stash apply stash@{1}” 获取版本号为stash@{1}的修改内容。当list的内容都被获取后,可通过 “git stash clear” 来将栈清空。