Git存储库不工作(Git不断删除HEAD文件)



我的git存储库突然损坏(可能是在更新Sublime之后,存储库中的一些文件仍然打开(。当我试图显示git状态时,我得到了以下错误消息:

fatal: not a git repository (or any of the parent directories): .git

当我查看.git文件夹时,HEAD文件不见了。我试图用命令重新创建文件

echo 'ref: refs/heads/master' > ../.git/HEAD

但什么也没发生,所以我尝试手动创建文件,但它被重命名为HEAD(VAVRIK-PC的冲突副本2021-05-27(。后来,我试图断开我的电脑与互联网的连接(我的回购链接到GitHub(,并重复了之前的步骤。这一次,我设法重新创建了HEAD文件,并为提交准备了一些更改,但当我尝试提交更改时,我收到了以下错误消息:

error: invalid object 100644 91e213ecdea4b589613a7cd7dc078bc501bc039d for 'cascade_flux/.gitignore'
error: invalid object 100644 91e213ecdea4b589613a7cd7dc078bc501bc039d for 'cascade_flux/.gitignore'
error: Error building trees

在我再次打开Wi-Fi后,HEAD文件消失了。有什么办法我能解决这个问题吗?

在某种程度上,你在这里很幸运:当Dropbox损坏Git存储库时,损坏有时是不可见的,直到你已经无法恢复地丢失了一些工作。

一般来说,Git需要对其数据库(在.git目录中(的完全控制。无论是使用Dropbox、iCloud还是任何其他文件同步软件,都不要将它们放在共享空间中。在一些非常特殊的情况下,当你知道自己在做什么,并且确信Git没有修改目录中的内容时,可以通过某种网络或其他复制软件复制目录。但是Git对这些东西在自动解决冲突更改时所做的更改过于敏感,所以共享软件很容易把Git数据库搞得一团糟。

最新更新