如何恢复被误删的git stash
- 前言
本文总结的知识很实用,虽然是git工具的不常用操作,但是是一个git高手必会的操作
主要是两种场景的解决方案:git stash记录清空后如何还原? git commit代码后如何还原? - git stash clear后如何还原
1.首先,在控制台输入
git fsck --lost-found
2.然后根据上述命令看到的记录:dangling commit xxxidxxx,输入以下命令,查看该id的具体内容
git show xxxxidxxxx
这里就是之前删除的git stash暂存的信息,包含暂存的日期、别名(我的是地图对比)和暂存的文件列表信息,如果不是我们想要的,就只能挨个看看所有的dangling commit记录了,这里我还没找到捷径。
当找到你想要恢复的提交数据后,将id复制,输入如下命令进行恢复
git merge xxxxidxxxx
执行完后,之前的代码就恢复了。我本来以为这里的还原相当于git unstash把代码恢复到本地了,想错了。
恢复之后效果是相当于已经commit了,但是还没push到远程仓库,但是有些本地的修改是我改着玩的,不能推送,所以还得把这个commit恢复回来。