git 找回git stash clear误删除的代码, 并恢复

因为公司明天会断电,我又不想提交代码,就想着先放在暂存区吧,然后按习惯先把看下下之前的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 ,到目前为止,你的误删代码就都恢复了,你就可以愉快的继续加班了啊,嗯,加油!!!

posted @ 2020-08-18 17:09  vin_howe  阅读(5383)  评论(5编辑  收藏  举报