今天我开始做我的一个项目,但 git 似乎已经“忘记”了存储库。任何 git 命令(除了init
和类似的)都会导致:
fatal: Not a git repository (or any of the parent directories): .git
但是我在一个.git
存在的目录中。谷歌搜索了一段时间后,我发现 git 需要一个名为的文件HEAD
,它是指向“HEAD”的指针。但是这个文件丢失了。我还发现我确实拥有的 ORIG_HEAD 应该指向一个较旧的“HEAD”。
我试着做cp ORIG_HEAD HEAD
,这让 git 意识到它是一个存储库,但是:
$ git status
fatal: unable to read tree 9d1dcfdaf1a6857c5f83dc27019c7600e1ffaff8
$ git log
commit ab071ed2e391f0d8e7f0e3d3a7f86735fe3947b9
Author: Esa Varemo <esa@kuivanto.fi>
Date: Fri Jul 19 19:00:05 2013 +0300
Added a template config file
< a few commits cut out>
error: Could not read 5af6cdcf9387971ef52fdc0d00550fbc49d325c2
fatal: Failed to traverse parents of commit 948dd8ba52a36f780d58d38f7e1e083a277cbfe7
几天前,当我最后一次工作时,没有任何问题。我更改了一些文件,提交了更改并推送到远程仓库(所以我有备份)。
任何想法可能会发生什么?