git init ,我添加并提交了一些文件,进行了一些更改,添加并提交。 设置git守护程序(在WinXP上的Cygwin下运行)并克隆一次存储库。 现在,我在克隆的存储库中收到此错误:

$ git status
error: bad index file sha1 signature
fatal: index file corrupt

有没有办法解决这个问题,除了获取存储库的新副本?


#1楼

这听起来像是一个糟糕的克隆。 您可以尝试以下方法获取(可能?)更多信息:

git fsck --full

#2楼

如果问题是将索引作为提交的暂存区域 (即.git/index ),则只需删除索引(如果需要,可以创建备份副本),然后在上次提交时将索引恢复为版本:

在OSX / Linux上:

rm -f .git/index
git reset

在Windows上:

del .git\index
git reset

(上面的reset命令与git reset --mixed HEAD相同 - git reset --mixed HEAD

您也可以使用较低级别的管道 git read-tree而不是git reset


如果问题在于packfile的索引, 则可以使用git index-pack恢复它。


#3楼

您还可以尝试还原到以前版本的文件(如果您使用的是Windows操作系统)


#4楼

我遇到了这个问题,我试着解决这个问题:

rm -f .git/index
git reset

但它不起作用。 解决方案 ? 出于某种原因,我在子目录中有其他.git文件夹。 我删除那些.git文件夹(不是主体)和git reset 。 删除后,一切都恢复了。


#5楼

当其中一个子目录下面有.git目录时,可能会发生此问题。 要解决此问题,请检查其中是否存在其他.git目录,然后将其删除并重试。


#6楼

这对我有用。 虽然我很好奇我最初开始得到错误的原因。 我昨天退出时很好。 今天早上登录,事实并非如此。

rm .git/indexgit reset

#7楼

由于上述解决方案给我留下了持续的问题,我使用了这个沉闷的解决方案:

  1. 在别处克隆一个新的repo副本
  2. 将新的.git目录复制到包含我想要提交的更改的(损坏的)repo中

诀窍。 顺便说一句,我在@hobs猜测的项目根上做了一个sed 。 学到了我的知识。


#8楼

这很荒谬,但我刚刚重新启动了我的机器(mac),问题就像它从未发生过一样。 我讨厌听起来像个支持者......


#9楼

rm -f .git/index
git reset

更多信息, 请访问https://www.chris-shaw.com/blog/quick-fix-for-git-corrupt-index


#10楼

请注意git子模块用户 - 这里的解决方案不适合您。

假设您有一个名为dev的父存储库,例如,您的子模块存储库名为api

如果你在api里面,你会得到这个问题中提到的错误:

error: bad index file sha1 signature fatal: index file corrupt

index文件.git文件夹中。 实际上, .git甚至不是一个文件夹 - 它将是一个文本文档,其中包含该存储库的真实.git数据的位置。 可能是这样的:

~/dev/api $ cat .git gitdir: ../.git/modules/api

因此,您需要执行以下操作,而不是rm -f .git/index

rm -f ../.git/modules/api/index git reset

或者,更一般地说,

rm -f ../.git/modules/INSERT_YOUR_REPO_NAME_HERE/index git reset


#11楼

您可能在项目根目录上使用sed(可能重构?)意外损坏.git / index文件,例如:

sed -ri -e "s/$SEACHPATTERN/$REPLACEMENTTEXT/g" $(grep -Elr "$SEARCHPATERN" "$PROJECTROOT")

为了避免将来出现这种情况,只需使用grep / sed忽略二进制文件:

sed -ri -e "s/$SEACHPATTERN/$REPLACEMENTTEXT/g" $(grep -Elr --binary-files=without-match "$SEARCHPATERN" "$PROJECTROOT")

#12楼

我在.git / index中面临同样的问题重命名索引文件,然后git重置为我工作。

如何使用Git解决“错误:错误索引 - 致命:索引文件损坏”相关推荐

  1. git解决push错误failed to push some refs to的解决

    git解决push错误failed to push some refs to的解决 问题是这样产生的: 首先我有两个git本地仓库,其中一个git上传了一次代码,另一个git在推送时出现了这样的报错: ...

  2. git 解决多人修改相同的文件导致的冲突

    git冲突处理 (场景:A和B修改相同的文件,A先提交到远程仓库,然后B提交push报错,远程仓库有更改,git自动合并失败,需要手动合并 提示错误:Automatic merge failed; f ...

  3. bat脚本 git pull_Git遇到错误时如何解决的一些坑

    在工作中,你总是与代码打交道,上传代码的时候,相信你不是用svn,就是用Git版本控制器,下面是最近这几天整理下来经常会遇到的Git的一些错误的解决访问,希望能帮助到你. 1 git pull遇到错误 ...

  4. idea提交git报401错误解决办法

    idea提交git报401错误解决办法 打开当前git项目中的 .git文件夹,打开config 文件 有一句是这样的 [remote "origin"] url = http:/ ...

  5. 解决使用git时候出现的“error pathspec ‘“xx文件“did not match any file(s) known to git”错误

    这次分享一个关于我在使用git时候出现的一个错误. 错误信息: error pathspec "xx文件" did not match any file(s) known to g ...

  6. git(Auto-merging错误)解决冲突

    git(Auto-merging错误)解决冲突 1.git pull  更新代码,发现 error: Your local changes to the following files would b ...

  7. 解决IDEA GIT密码输入错误后,报Authentication failed ... 不再弹出输入框,提交更新失败

    IDEA GIT密码输入错误后,不再弹出输入框,提交更新失败,此时可以到windows凭据中去修改. 方法一: 开始菜单 >> 点击用户头像 >> 在左侧选择"管理你 ...

  8. 【小5聊】Git安装出现错误解决方法,fatal: bad config line 10 in file xxx/.gitconfig

    可能是安装操作不当,导致后续安装出现配置冲突,一直无法使用 1.错误提示如下 fatal: bad config line 1 in file C:/Users/Administrator/.gitc ...

  9. git clone 出现错误 Could not resolve host: github.com

    git clone 出现错误 Could not resolve host: github.com 一.错误原因 二.解决方法 1.解析出域名对应的IP地址 2.把域名和IP地址添加到主机的hosts ...

  10. Git推送错误: failed to push some refs to ‘git@gitee.com:XXXXXX’

    项目推送时遇Git推送错误: error: failed to push some refs to 'git@gitee.com:name/project.git' 1.分析: 这个问题的产生是因为远 ...

最新文章

  1. 100多年了,左右大脑的不对称性依然备受关注
  2. [Voice communications] 让音乐响起来
  3. OpenCV对图像进行尺寸变换
  4. 网页上符号显示成方框_如何在word、PPT、Excel以及PDF中添加带√的方框
  5. Django + Apache + wsgi配置和环境搭建(ubuntu)
  6. JAVA 多线程 JAVA 如何开发一个自定义线程池
  7. Android Q 不叫 Q,正式命名为 Android 10
  8. 《高质量C/C++编程指南》学习笔记
  9. Oracle 补丁体系 及 opatch 工具 介绍
  10. LeetCode 28. Implement strStr()
  11. et文件怎么转成excel_怎么将pdf转成excel?一定要学会这个PDF转Excel方法
  12. 微信 表情 android,android - 微信自定义表情在哪个文件夹?
  13. 施乐j75服务器电源管理系统,富士施乐推出印刷系统 Color J75 Press
  14. java笑话_[转]爆笑程序员的笑话集锦
  15. elisa标准曲线怎么做_如何拟合Elisa标准曲线
  16. 为Hexo博客文章添加关键字
  17. 图片文字识别软件哪个比较好
  18. ASP.NET Identity 2新增双重认证、帐号锁定、防伪印章功能并修复了一些bug
  19. rviz一些无法正常显示的问题
  20. 弱者易怒如虎,强者平静如水,真正厉害的人早已戒掉了情绪

热门文章

  1. Java8 Stream 使用
  2. 第十、十一周项目三-警察和厨师(1)
  3. 老毛桃u盘启动pe重建mbr图文教程
  4. python多行注释以什么开头和结尾_Python 中多行注释可以 # 开头,而单行注释则以 ''' 开头和结尾。...
  5. python数据挖掘主要特点_python数据挖掘(从数据集中抽取特征)
  6. Spring Cloud Hystrix理解与实践(一):搭建简单监控集群
  7. python 函数(二)
  8. 消息队列 RabbitMQ
  9. WAMP 2.5 无法访问局域网的解决方法
  10. 【codevs2011】【LNOI2013】最小距离之和