2014-01-13 51 views
1

我想我可能會搞砸我的日子的工作,但我做了這條產業鏈的命令反正回滾的git RM -r後的工作目錄-f

git status 
git add . 
git rm filename1 
git rm filename2 

我那麼愚蠢地以爲我爲什麼要做這一個一個我知道有一種方法可以做到這一切在一次

git rm -r -f 

工作目錄已被清除,我意識到我已經搞砸了,然後試圖

git checkout -f 

恢復了我今天早上最後一次提交的一切。

我正在看這些答案,並認爲可能有一種方式,但我不明白這些答案足以冒險嘗試任何事情,任何建議嗎?

Can a 「git rm -r -f 」 command be reverted?

How to undo a 「 git rm -r -f * 」

回答

1

基於鏈接的答案,您添加到索引中git add一切有可能需要進行恢復:

git fsck --lost-found 

這將創建一個你添加的文件索引但從未在.git/lost-found/other目錄中提交。文件名將是SHA,所以你將不得不一個一個地看內部,以知道哪個是哪個。

+0

感謝您指出這是我最好的機會,他們現在確實在另一個文件夾中。我很高興Git比我更聰明。你知道如何恢復這些文件,或者我應該複製並粘貼它們嗎? – Ir1sh

+1

@ Ir1s​​h我認爲你必須複製和粘貼。我不知道這個功能,所以我很高興你的問題;-) – janos