Git 我把我的文件吃掉了

Git 我把我的文件吃掉了,git,github,Git,Github,我正在工作。自12提交以来,我在/src/player.c中有文件src/lem_ 在中,我删除了很多文件并将其推送到github。player.c消失了。我可能因为错误而删除了它,所以我签出到以前的提交以恢复它。它也不见了!在每一次犯罪中。player.c已从整个提交历史记录中删除,没有任何原因 我知道它以前就在那里,因为我的makefile仍然引用它,编译失败了,而我知道编译总是成功的 我知道我没有使用奇怪的git命令(只是git-add、commit-push) 这怎么可能呢?答案是……我

我正在工作。自12提交以来,我在/src/player.c中有文件src/lem_

在中,我删除了很多文件并将其推送到github。player.c消失了。我可能因为错误而删除了它,所以我签出到以前的提交以恢复它。它也不见了!在每一次犯罪中。player.c已从整个提交历史记录中删除,没有任何原因

我知道它以前就在那里,因为我的makefile仍然引用它,编译失败了,而我知道编译总是成功的

我知道我没有使用奇怪的git命令(只是git-add、commit-push)


这怎么可能呢?

答案是……我的.git文件中有
player*

我没想过要检查一下。我的文件肯定被删除了:(


感谢您的回答。

您是如何恢复到以前的提交的?该文件可能已经存在,但没有被git跟踪。git不太可能自发地重写整个提交历史以删除文件。您可能从未将其添加到git中-因此,即使您在本地拥有(并使用它编译),您从未告诉git观看它。它可能在回收站中(或在您的操作系统上的等效文件中-因为git通常在签出时软删除该文件)这是您的整个推送历史记录:。历史记录中没有一个强制推送。如果该文件曾经存在于git存储库中,它将仍然存在。您在中删除了src/lem_ipc/src/get_player.c–这是您要查找的文件吗?@SvenMarnach不,它仍然是player.c