开发时本地会有很多分支,在没有commit之前就切换分支,修改的文件是不会保存的。在不适合commit的情况下需要切换分支可以使用如下方法解决:
- 在切换分支前我们可以使用git stash,git stash将该分支的修改进行存储
(假设当前分支为dev)
git stash
- 存储完之后就可以切换到想要切换的分支进行开发了。
git checkout master
- 开发完之后,回到之前的分支,执行 git checkout dev
git checkout dev
- 查看存储列表
git stash list
有两种方法恢复之前的状态:
方法一——apply
恢复最近一次stash
使用apply命令进行恢复,apply恢复后手动drop清除stash
git stash apply
git stash drop
恢复指定stash
恢复指定需要指定stash的id:
git stash apply stash@{0}
方法二——pop
恢复最近一次stash
恢复最近一次stash内容到工作区,恢复后删除此stash
git stash pop
恢复指定stash
git stash pop stash@{0}