git 状态给我一个错误 : bad index file sha1 signature

标签 git indexing git-submodules

在我的 git 存储库中,我对许多文件进行了 utf-8 转换,但仅限于 .git 目录下,因此没有触及 .git 目录。 在此转换之前,我创建了一个新的测试分支,但现在我不能再使用我的 repo,我不能切换回 master。 当我这样做时:

git status 

或我得到的任何其他 git 命令:

error: bad index file sha1 signature 
fatal: index file corrupt 
fatal: 'git status --porcelain' failed in submodule core/kimai-mobile

我搜索了一下,找到了命令:

rm -f .git/index 

之后:

git reset

但这并没有帮助。我不明白哪里出了问题。 然后我删除了“子模块”core/kimai-mobile,突然我又可以用了!

我在这个目录中有另一个 git 存储库,我在其中通过转换销毁了另一个索引文件。 我的问题是,我认为“主”存储库索引文件是指。

现在它又开始工作了:)


我的问题是,为什么 git 会查看这个子模块,尽管我的忽略列表中有这个子模块的整个文件夹?

这是我的“主”git 的忽略文件:

.gitignore

...
# kimai mobile
kimai-mobile
...

最佳答案

子模块是完整的 git 存储库。因此它们可以包含 .git 子目录(或至少一个指向它的链接)。

因此,如果您对根存储库根目录中 .git 以外的所有文件使用您的工具,您仍然可以破坏子模块中的一些内部 .git 文件。

关于git 状态给我一个错误 : bad index file sha1 signature,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11583753/

相关文章:

Git:如何获取用户列表以及他们编写了多少行代码

git - 在git中与master merge 后功能分支会发生什么

ms-access - 如何在 Access 中使用可能为空的整数字段创建唯一索引?

Git子模块管理策略

ios - Xcode推送工作区与子模块错误的存储库推送

git子模块同步不起作用

git - 推送后重做错误的 git 冲突解决

git - 为什么我们的 Git 存储库中缺少代码,可以通过 rebase 解决吗?

python - Pandas:将行索引更改为列索引。或相反亦然

python - 这段python索引代码是做什么的