# 如何救回誤刪的Stash > 由於習慣問題,我習慣在還未告一個段落之前,若是需要切到其他分支進行其他功能開發的時候,我習慣會用git stash,本來其實這也沒什麼,但在我完成後要切回去時,用git graph(vscode的git UI工具)眼花,要按pop的按成drop,慘案就發生了... ### 方案一 #### `git fsck --unreachable` 這個命令查找所有unreachable的紀錄,大概會長這樣 ![](https://hackmd.io/_uploads/HkneOuT6n.png) 然後這時在用`git show + <sha>`,sha是上面的key,這指令可以查看紀錄內容 ![](https://hackmd.io/_uploads/SyXcOuTp3.png) 但比數實在太多了,我實在沒精力一筆一筆去看去找 --- ### 方案二(最終採用的方案) #### `gitk --all $( git fsck --no-reflog | awk '/dangling commit/ {print $3}' )` 這個命令可以叫出git的ui介面,且未被追蹤的stash也會顯示在上面 ![](https://hackmd.io/_uploads/BypjFOa62.png) 只要知道大概時間點,就可以找到遺失的stash了 ![](https://hackmd.io/_uploads/Hyemq_Tp2.png) 這時再用`git stash apply + <sha>` 就可以把那筆紀錄抓回來了