git - 为什么我得到 Git fatal : index file smaller than expected error regularly?

标签 git centos vagrant virtual-machine

我在虚拟机上使用 Git 时遇到了一个非常令人沮丧的问题。在我的 /var/www/ 目录中,我有几个具有不同 Git repos 的项目,有时,现在我经常重新进入项目目录并执行 git status (或任何其他 git 命令)并得到如下所示的错误。

我已经阅读了如何暂时解决此问题,但我找不到关于为什么会发生这种情况以及如何阻止它发生的任何信息。我正在运行一个 Vagrant VM,其 CentOS 和 Git 版本如下所示。

这可能是我的 VM 关闭方式的问题吗?

[vagrant@localhost /var/www/crmpicco]# git status
fatal: index file smaller than expected

[vagrant@localhost /var/www/crmpicco]# cat /etc/redhat-release
CentOS Linux release 7.0.1406 (Core)

[vagrant@localhost /var/www/crmpicco]# git --version
git version 1.8.3.1

我还发现,如果我执行 git fetch origin,我会为源上的每个更新分支获得以下信息:

error: unable to resolve reference refs/remotes/origin/master: No such file or directory
 ! [new branch]      master     -> origin/master  (unable to update local ref)

最佳答案

我不确定这是否是“修复”的全部原因,但是通过在 ~/.bashrc 中禁用围绕 Git 的 bash 定制(PS1)变量并使用 sudo shutdown -h now 正常关闭虚拟机而不是仅仅关闭 VM 窗口,它似乎已经解决了一个星期或更长时间的问题。

关于git - 为什么我得到 Git fatal : index file smaller than expected error regularly?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31962104/

相关文章:

php - Centos 6.4安装php54-xml时出错

php - 为什么centos curl版本与php curl版本不同

centos - 文件在 Centos 上不包含节标题

mongodb - 无法连接到 MongoDB、Ubuntu 64 VM(Vagrant、PuPHPet)

java - 无法使用 Eclipse 创建 GIT 存储库

git - 我的 git 存储库有一个巨大的 .pack 文件。有没有办法安全删除它?

Git svn 目录 .git/logs/refs/... 和 .git/refs/之间的区别

git 使用 SHA 检查 HEAD 上是否存在文件?

ssh - Vagrant 禁用 SSH 代理

linux - Amazon Linux 的 Vagrant 替代品