因为公司明天会断电,我又不想提交代码,就想着先放在暂存区吧,然后按习惯先把看下下之前的stash的数据最后一条还有没用,git stash list 看后感觉都没啥用了,就直接git stash clear 掉了,然后git stash 后,当时手太快了,脑子没跟上,如图
直到git stash 提示 no changes 时我才反应过来,我好像刚刚stash了一次了,emm.....mm好像鸡鸡了,我翘,我翘,我翘啊,当时内心想法就是,md,平复下后,想这种东西应该是能找回的吧, 大不了在写一遍,问题不大(实际想日电脑),在一番查阅后,
有了以下解决方案:
方案一 (太累了,可以直接跳过):
1.首先执行 git fsck --lost-found 可以看到条条的id,可以理解为stash的动作ID。
2.然后输入git show id 找到一个个找,忽略dangling blob 的类型的记录,只找 dangling commit 的记录,找了前面一两个先别灰心,因为经过我测试下来,这玩意特么是不根据时间排序的,然后我一顿找,就像下面一样
找了大概四十几条数据后,找完了,我翘,妈的,居然没有我想要的那条记录???? 苍天啊,大地啊,。。。。。。
在这时我已经放弃了这个方案了,但是如果你们如果找到了,那就直接用
git merge id
就可以找回你们git stash drop, git stash clear 的内容了,希望你们能找到。。。
方案二
在上个方案无果我,我果断请教了我的大佬师父,哈哈哈,果然他还是牛逼的,他说,这个简单,我翘,我翘,简单?顿时有了曙光
1. 用idea右击项目选择
2. 然后你就会发现,发现,当当当,你之前的动作都在这里有记录的啦,
3. 找到你那次stash的动作的记录后,直接右击
ok ,到目前为止,你的误删代码就都恢复了,你就可以愉快的继续加班了啊,嗯,加油!!!