[英]Restore files from git
我在一個新的Projekt上工作。 我將所有文件添加到本地git存儲庫
git add .
但我沒有承諾。 然后我不小心重置了git
git reset --hard
如何還原我的文件? 我希望那個原子保留文件,但也保留那些不再打開的文件。 沒關系,那個原子會關閉我的所有文件。
git add
文件時, git
將其作為對象存儲在存儲庫中( .git
目錄中)。 您的文件可能仍在徘徊。 另一方面,通過運行git reset --hard
命令,您丟失了有關文件名的任何信息。
您可以通過運行以下命令查看對象本身:
find .git/objects -type f
會產生類似:
.git/objects/67/6e8ff99e42b61f96bb0107fa1dff59594eba07
.git/objects/7c/45d8f7d987c584a8d61a8d75431ddd4f1ba52f
您可以使用git cat-file
命令查看這些對象的內容,如下所示:
git cat-file -p 7c45d8f7d987c584a8d61a8d75431ddd4f1ba52f
請注意,對象ID是第一級目錄中兩個字符的連接,后跟文件名中的所有字符。
因此,編寫一個腳本來還原所有文件的內容是相當瑣碎的,但是您必須在事后手動重命名它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.