關於git reset --hard導致文件丟失的血的教訓

哎?以前這個文件是什麼樣的呢?返回上一版本看看吧,於是git reset --hard xxxxx便邪惡地運行了好了,
看完了,我該幹活了,回我的最新版本吧
沃德天!!!!!!!!頭皮怎麼有點發麻?我的文件呢???
把桌子翻遍了,都找不到我親愛的文件的影子,我可是沒有add,也沒有commit啊,
咋辦?於是,上網查唄,一溜達不要緊,都說完了,要重新寫,更麻了!
偶然間看到了一個博文,抱着試一試的態度,就運行了一下,唉?有了幾個文件!還好,老天待我不薄,其他的咋辦呢?重新寫吧!
所以,

重點來了,下面是解決已經add,但是沒有commit,直接運行git reset --hard xxxxx的情況(因爲據說沒有add直接返回版本就是死了,而且都硬了的那種)


1. 執行 git fsck --lost-found;

2. 在.git/lost-found目錄下找找看有沒有你丟失的文件;

3.有的話複製出來,如果是文本,直接改成正確擴展名,你就笑了;

4. 沒有的話,就再去Google吧;


特別說明:我的情況是我之前打開了GUI,stage了幾個文件,所以可以找回來,如果是修改了由Git管理的文件而沒有add的話,再查查資料望告知,謝謝。


提醒:新增的文件,沒有被Git管理的文件,是沒有影響的,而add了但沒有commit的文件可以用上述方法找回。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章