我忘记将 .ai 添加到我的 .gitignore 文件中,但运行
$ git add .
并将相当多.ai
的文件添加到索引中。
当我跑过去
$ git status
看到它们时,我想将它们从索引中删除。
匆忙中,我跑了,
$ git restore -s@ -SW
结果我的所有.ai
文件都从我的工作树中消失了。我不应该使用W
.
有什么办法可以找回我的.ai
文件吗?
我忘记将 .ai 添加到我的 .gitignore 文件中,但运行
$ git add .
并将相当多.ai
的文件添加到索引中。
当我跑过去
$ git status
看到它们时,我想将它们从索引中删除。
匆忙中,我跑了,
$ git restore -s@ -SW
结果我的所有.ai
文件都从我的工作树中消失了。我不应该使用W
.
有什么办法可以找回我的.ai
文件吗?
首先,检查您是否仍然可以通过“本地历史记录”访问这些文件(由您的 IDE 记录,而不是 Git)
例如,这里建议的Local History VSCode extension可以提供帮助。
如果没有,请仔细检查您的操作系统备份功能,例如 MacOS Time Machine 状态,以防您可以从备份中恢复它们。
最后,由于您已将这些文件添加到索引中,请检查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
请注意,您还可以在目录中找到每个“无法访问的 blob”的内容
.git/lost-found/other
。这通常比
git show
您可以更快更容易cd .git/lost-found/other
地grep expected-string *
找到具有预期字符串的文件。