恢復分段但未提交的文件在本地計算機上,我從文件夾中刪除文件。'git rm -rf'
git init
git add --all
然後我寫了(不要問我,爲什麼!:))
git rm -rf
我不承諾,但。現在我的項目中有空文件夾。在.git
文件夾中有objects
與53 Mb的文件。
如何恢復我的文件?我嘗試過Drill Disc和Stellar等程序,但沒有找到我的文件。而且我不能從GIT回滾。
如何恢復丟失的文件?
恢復分段但未提交的文件在本地計算機上,我從文件夾中刪除文件。'git rm -rf'
git init
git add --all
然後我寫了(不要問我,爲什麼!:))
git rm -rf
我不承諾,但。現在我的項目中有空文件夾。在.git
文件夾中有objects
與53 Mb的文件。
如何恢復我的文件?我嘗試過Drill Disc和Stellar等程序,但沒有找到我的文件。而且我不能從GIT回滾。
如何恢復丟失的文件?
(更新)使用git fsck
相反,它是用於檢索您曾經加入到git倉庫文件內置命令。
git fsck --lost-found --unreachable
命令處理後,檢索的文件將被放置在.git/lost-found/other
,具有SHA256散列的文件名。雖然原來的名字仍然丟失,但內容將會回來。
你可以在你的.git/objects
目錄中找到你的文件。
假設有一個.git/objects/2f/ae996f8f8f9298b41ba4fdbac3d62014f9579e
對象,您可以執行
git cat-file -p 2fae996
讓你丟失的文件的內容。
但是,我很抱歉,我不知道重建您的目錄或自動執行此操作。
+1:哇,的確如此。奇怪的是,在那裏的文件,但不能以任何方式使用正常的git命令訪問。 –
我不擔心目錄,但我需要文件。 「git cat-file」 - 這就像* nix中的「cat」命令? 如何將文件保存在其他目錄中? – user2003024
您可以像通常的unix命令一樣通過重定向來保存它。 'git cat-file object>/path/to/where/you/want/save/it',但我認爲這不是一個好主意,因爲沒有關於文件名的信息。 – dyng
你嘗試過:
git reset --hard
?
。希望工程:)
經過'git rm -rf',你甚至可以安全地進行硬重置。 – Flavius
-1:只有在使用了'rm -rf'的情況下才會有效。請參閱[我的回答](http://stackoverflow.com/a/14475121/572644)以獲取解釋。 –
該命令將代碼更改爲上次提交併刪除所有已修改的文件。 –
如果你沒有使用任何「反刪除」工具將它們還原,它們就會消失。 – Sven
http://stackoverflow.com/questions/5788037/recover-from-git-reset-hard/6780036#6780036這可能是有用的 – pktangyue