因為公司明天會斷電,我又不想提交代碼,就想着先放在暫存區吧,然后按習慣先把看下下之前的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 ,到目前為止,你的誤刪代碼就都恢復了,你就可以愉快的繼續加班了啊,嗯,加油!!!