簡體   English   中英

恢復使用git clean -df刪除的文件

[英]Restore files deleted with git clean -df

從錯誤的目錄添加文件並運行git clean -df函數后,我試圖清除git。 這導致我的所有用戶數據被刪除。

此后,我在git中沒有做任何其他事情,並且現在我不敢打開計算機。 但是,我注意到有一個.git文件夾,其中包含約600MB的數據。 是否有y個文件存儲在那里並可以恢復?

我運行Windows 10,並且沒有用戶數據文件夾的任何備份或還原點。

任何幫助將不勝感激,因為我已存儲了非常重要的數據。 謝謝

除非您有備份或想使用撤消刪除實用程序進行探索,否則無法從中恢復。 Git不在任何地方保存備份。

簡短的答案,最有可能沒有!

還有一些IDE可以在本地跟蹤和存儲此信息,例如: 是否仍然可以在git中恢復已刪除的未跟蹤文件?

因此,仍然有可能取決於您的IDE或文本編輯器。

如果您使用的是Eclipse,並且只缺少代碼或文本,請不要絕望,不會丟失所有內容。 去:

[WORKSPACE]/.metadata/.plugins/org.eclipse.core.resources/.history

然后使用grep (* nix), FINDSTR (Windows)或類似工具搜索您知道已刪除文件中已出現的文本片段。 Eclipse保留了許多本地歷史記錄修訂,因此,如果您最近使用這些文件,則可能會有很多匹配項。 然后,您需要找到其中的最新版本,這可能會有些棘手。

舉個例子:在快速執行git clean -d -fx向同事展示此危險功能后,我丟失了一個未跟蹤的Java代碼文件,我知道該文件包含String XrefCollector 通過執行以下操作,我能夠找到最近的本地歷史記錄修訂:

find . -printf "%T@ %p\n" | sort -n | cut -d" " -f2 | xargs grep -l XrefCollector | tail -n1

在這里, find在文件前加上日期(紀元),對文件sort排序(數字地sort ), cut再次刪除日期, xargs將文件名傳遞給grep ,后者搜索所需的字符串。 最后, tail僅顯示輸出的最后一行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM