背景
在开发一个项目时,可能有时突然某个功能点或bug需要立即修复上线,但是当前开发的内容又还没达到上线的要求,这时候就会需要执行 `git stash save '信息'` 将当前代码暂存缓存区 。
但是由于时间间隔太长,最近又有点懵逼,误操作执行了`git stash clear`,将之前保存的代码都删了(简直绝望)!!!!那怎么把删除的代码恢复过来呢?
解决
git fsck --lost-found
先看下自己最近的一些删除的提交:
这里的"dangling commit ${id}"可以理解为stash的id(注意,该id不是按时间顺序排列)- 复制一条dangling commit 的id(其他的dangling blob不用理会),输入
git show ${id}
,查看该id的具体内容,记录中会描述日期和摘要,日期是你git stash 的日期,摘要会记录你是在哪一条commit 上进行git stash操作的。 - 找到想要的id后执行
git merge ${id}
,这样就还原了git stash drop, git stash clear 的内容。