我忘记将.ai添加到我的.gitignore文件中,但是运行$ git add .并将相当多的.ai文件添加到索引中。
当我运行$ git status并看到它们时,我想将它们从索引中删除。
我匆忙地运行了$ git restore -s@ -SW,导致所有的.ai文件都从我的工作树中消失了。我不应该使用W。
有什么方法可以把我的.ai文件拿回来吗?
发布于 2021-07-09 07:55:16
首先,检查是否仍然可以通过“本地历史记录”访问这些文件(如IDE记录的那样,而不是Git)。
例如,局部历史VSCode扩展 (如建议在这里 )可以提供帮助。
如果没有,请重复检查您的操作系统备份功能,比如MacOS 时光机状态,以防您可以从备份中恢复它们。
最后,由于您已经将这些文件添加到索引中,所以git fsck
git fsck --cache --no-reflogs --lost-found --unreachable HEAD从列出的SHA1中,您可以执行git show
git show "<SHA-1 REFERENCE TO THE BLOB OBJECT HERE>" > lost_file.txt请注意,您还可以在
.git/lost-found/other目录中找到每个“不可访问的blob”的内容。 这通常比git show更快、更容易,因为您可以使用cd .git/lost-found/other,然后通过grep expected-string *查找具有预期字符串的文件。
https://stackoverflow.com/questions/68310226
复制相似问题