記一次誤刪 git stash 檔案恢復操作

2021-08-21 07:15:46 字數 1051 閱讀 8451

在使用 git 的時候我們都可能會遇到**誤刪的情況的,筆者就遇到了誤刪 stash 中的**,在這裡記錄一下如何找回誤操作的 git stash 的**。

在進行多分支管理**時,我們經常需要在沒完成功能的開發時就需要緊急切換到master 分支進行 hotfix。而我們後不想將未完成的**進行提交,因此就需要進行**暫存,git 為我們提供了乙個簡單的**操作,那就是 git stash。使用該命令我們就可以將**暫存至**快取倉庫中,在進行完 hotfix的時候我們只需要再切換回原來的分支進行git stash pop即可將快取的**進行恢復了。

筆者一如既往的如此操作,終於在一天,在切換分支的時候切換錯了,git stash pop出棧的**恢復到了別的分支去了,然後筆者也是很眼明手快地刪掉了**。

沒聽錯是刪掉了!!

是刪掉了!!

然後就踏上了苦逼的找回**的歷程了。

在此簡單記錄一下找回**的步驟。

其實操作十分簡單,僅僅幾步即可。

使用git stash pop其實並沒有真正地將檔案刪掉的,而是刪除引用而已,因此我們可以使用git fsck命令進行找回,搭配引數--unreachable,讓git-fsck顯示出所有不可訪問的物件。

然後使用git show乙個個對輸出的物件進行檢視:

很明顯可以看到輸出,簡單確認後你可以判斷這個檔案是不是你誤刪的,找到後進行備份轉儲。

git show 302063e31742cbce7c5fdb917edf520183154cc1 > d:\recovery\backup.txt
該命令可以將顯示的內容輸出到指定的路徑

就這樣筆者一步步找回了**了!!

記git stash誤刪除後的一次恢復

我想把來龍去脈都好好理理。事情是這樣的 今天更改了一些檔案,現在臨時需要修乙個其他分支的bug。臨走前看了一眼自己今天的工作量。嗯現在新建分支去修bug 萬惡的起源在這裡。在今天的工作量中我新建了幾個檔案並且移動了幾個檔案,未add的檔案不阻止切換分支,並且在所有分支上都顯示為未跟蹤 我基於以前都是...

記一次SQLServer資料庫誤刪資料找回

昨天 同事在本機清理資料庫表時,連線到了生產機,誤刪了二十幾張表,幸好是晚上加班的時候刪除的,生產機上當時是一天一備份,還原備份是最後的策略,最關鍵的還是要找回資料。生產機環境是server2008 r2 sqlserver2012,使用delete語句刪除的表現在開始還原,還原可參考dudu的這篇...

記一次除錯

這是我最近幾個月來遇到的最棘手的乙個問題 昨天花了4個小時找出第一層次的原因 這個糾結啊,本來和老婆說好準時下班回家吃飯的,結果被這個問題拖了老久。這是乙個gradle的plugin,用來resolve公司內部的dependency的,弄完了跑測試專案的,拋乙個npe,而且npe還不在自己的 裡面。...