我曾经有一个文件被Git跟踪,并且是Git历史记录中的几个提交之一。后来,我将该文件包含在.gitignore中。现在我想恢复这个文件。我尝试了
请注意,我可以在Git历史记录中看到这个文件。我可以查看我对它所做的更改,如果需要,我可以复制粘贴Git显示给我的内容。但是,如何从早期的提交历史记录中恢复此文件呢?重置和检出似乎对我不起作用,我怀疑是因为在将该文件提交到Git后,我将其包含在.gitignore中并进行了提交。
[更新]
我已经尝试删除.gitignore,但它仍无法恢复该文件。我重置到一个存在该文件且未在.gitignore中的提交,但它仍无法将其找回。
git reset --hard <sha>
和git checkout <branch/remote/file/etc>
,但这些命令都没有找回这个文件,它不会出现在工作目录中。请注意,我可以在Git历史记录中看到这个文件。我可以查看我对它所做的更改,如果需要,我可以复制粘贴Git显示给我的内容。但是,如何从早期的提交历史记录中恢复此文件呢?重置和检出似乎对我不起作用,我怀疑是因为在将该文件提交到Git后,我将其包含在.gitignore中并进行了提交。
[更新]
我已经尝试删除.gitignore,但它仍无法恢复该文件。我重置到一个存在该文件且未在.gitignore中的提交,但它仍无法将其找回。
.gitignore
中时,是否也将其从存储库中删除?.gitignore
无法控制从存储库中检出的内容,只能控制Git提供要添加到新提交的内容。 - Wolf.gitignore
之前,我已经在Git中提交了大约10次。但后来我将其包含到.gitignore
中并提交了.gitignore
。直到现在我都没有意外地删除它。在我的工作目录中意外删除文件后,我没有进行任何提交。 - Seph