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 ,到目前為止,你的誤刪代碼就都恢復了,你就可以愉快的繼續加班了啊,嗯,加油!!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM