索引文件小于预期

时间:2012-04-09 16:06:42

标签: git

今天早上,我开始从git获取此错误:

  

致命:索引文件小于预期

     

致命:git status --porcelain failed

知道发生了什么以及如何解决它?

3 个答案:

答案 0 :(得分:82)

索引文件已损坏,但很容易重新创建。只需将其删除,然后重新添加工作目录中的文件:

rm .git/index
git add .

答案 1 :(得分:67)

如果要保留本地更改,请使用以下命令:

$ rm .git/index
$ git reset HEAD .

> Unstaged changes after reset:
  modified foo.txt
  modified bar.txt

答案 2 :(得分:2)

对于那些即使在删除索引后仍然存在问题并且无法进行重置的用户。如果要保留更改,请执行以下操作(不是解决方案,而是一种丑陋的解决方法!)。

  1. 备份文件,我要说的应该有效,但以防万一。
  2. 删除.git文件夹
  3. 克隆您的存储库(无论在哪里)我都是在当前目录中完成的
  4. 将克隆的.git目录中创建的内容复制到当前目录中
  5. 删除克隆的目录 6。可选,如果您再次使用分支结帐功能
  6. Git状态现在应该按预期方式跟踪更改,并且所有git命令都应该起作用

我的情况如上所述,git弄乱了其引用... Git log表示“您的分支似乎已损坏”,git fsck则警告我有关不良引用的信息。想通了我是否可以解决它,但我花了很多时间去做,所以我选择了丑陋的解决方法。