繁体   English   中英

从git还原文件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM