Git -“非单调索引”

inkz8wg9  于 2023-01-24  发布在  Git
关注(0)|答案(4)|浏览(333)

我正在我的本地电脑上克隆一个git仓库,在这个过程中,这个命令输出了很多如下的错误信息:

error: non-monotonic index .git/objects/pack/._pack-*.idx

这个消息停留在拉或分支交换机,例如,但一切似乎工作。本地仓库似乎没有损坏或类似的东西。
关于错误信息有什么想法吗?

eulz3vhy

eulz3vhy1#

在我看来,这些只是OSX创建的一堆.文件,而git不明白它需要忽略它们。我在处理大量类似的文件时遇到过同样的问题。删除.* 似乎就解决了这个问题。

3xiyfsfu

3xiyfsfu2#

我正在搜索信息,在这种非monolitic错误,发现这个链接:http://git.661346.n2.nabble.com/Error-non-monotonic-index-after-failed-recursive-quot-sed-quot-command-td7575014.html
TL;DR:删除非单调索引,然后重新索引它。在Linux中,它将是:

> rm .git/objects/pack/pack-*.idx
> git index-pack .git/objects/pack/pack-*.pack

在此之后,我不得不运行一些git gc --prune=nowgit remote prune origin,但我以前做过一些其他操作,所以我可能破坏了我的回购。

mctunoxg

mctunoxg3#

当您移动存储库时,会在MacOS系统上生成名称类似于“.pack-.idx”的文件。
查找远程存储库所在的位置:my-repo.git/object/pack.在这里,你会看到你的普通pack
idx文件和MacOS生成的文件,它们的名字相同,但前缀为.

删除它们,您的回购将确定。

nue99wik

nue99wik4#

在MacOS上,如果你试图将本地存储库保存在一个挂载卷上,例如网络驱动器,删除._*文件将不起作用,因为它们会被重新创建,而是将._*添加到.gitignore中,让git忽略这些文件。
如果这不起作用,可能是你的.gitignore文件有问题。用文本编辑器打开.gitignore文件,另保存为UTF-8,然后在终端运行以下命令:

git rm -r --cached .
git add .

相关问题