我在谷歌上搜索过,找到了很多解决方案,但没有一个适合我。

我试图通过连接到LAN网络中的远程服务器从一台机器克隆。 在另一台机器上运行此命令会导致错误。 但是使用git运行相同的克隆命令://192.168.8.5…在服务器上,这是正常的并且成功的。

有什么想法吗?

user@USER ~
$ git clone  -v git://192.168.8.5/butterfly025.git
Cloning into 'butterfly025'...
remote: Counting objects: 4846, done.
remote: Compressing objects: 100% (3256/3256), done.
fatal: read error: Invalid argument, 255.05 MiB | 1.35 MiB/s
fatal: early EOF
fatal: index-pack failed

我已经在.gitconfig中添加了这个配置,但也没有帮助。 使用git版本为1.8.5.5.2 .msysgit.0

[core]
    compression = -1

当前回答

虽然不是完全相同的设置,但我在Ubuntu 20.04上挂载nfs共享时遇到了这个问题。我还没有找到任何解决方案,所以我分享了我是如何解决的,希望我能帮助到别人。

错误消息是(有时带有/没有警告):

warning: die() called many times. Recursion error or racy threaded death!
fatal: premature end of pack file, 29 bytes missing
fatal: premature end of pack file, 24 bytes missing
fatal: index-pack failed

Git浅克隆,禁用压缩等并没有解决这个问题。

当我用nfsvers=4.2而不是nfsvers=4.0挂载共享时,问题消失了。

其他回答

连接的问题

这是最有可能的原因。特别是如果你的git是最新的。(你可以更新你的git,如果不是最新的)

1-检查连接是否稳定。 2- VPN =>禁用它(如果使用=>罪魁祸首) 3-防病毒和防火墙

VPN VPN VPN =>罪魁祸首

Git缓存,缓冲区,内存和压缩

其他答案很好地涵盖了这一点。

会选https://stackoverflow.com/a/29355320/7668448

使用实例使用cli打开全局配置。

git config --global -e

如果没有,则:

https://stackoverflow.com/a/22317479/7668448

对我来说,这很有帮助:

git clone --depth 1 --branch $BRANCH $URL

这将限制签出到只提到的分支,因此将加快过程。

希望这能有所帮助。

我在macOS大苏尔M1芯片上遇到了这个问题,没有一个解决方案对我有效。

编辑:作为M2芯片的解决方案,以及。

我通过增加下面的ulimit来解决它。

ulimit -f 2097152
ulimit -c 2097152
ulimit -n 2097152

运行上面的命令只对当前终端会话有效,所以首先运行这个命令,然后克隆存储库。

如果你在Windows上,你可能想检查git克隆失败的“index-pack”失败?

基本上,在运行git.exe守护进程之后…命令,从控制台窗口中选择一些文本。重试拉/克隆,它现在可能工作了!

更多信息请看这个答案。

我也遇到过同样的问题。REPO太大,无法通过SSH下载。就像@elin3t推荐的那样,我已经通过HTTP/HTTPS克隆了,并将.git/config中的REMOTE URL更改为使用SSH REPO。