成功解决使用git clone下载失败的问题: fatal: 过早的文件结束符(EOF) fatal: index-pack 失败

2024-01-09 11:35:28

一.使用 http 可能出现的问题和解决

1.问题描述

~$ git clone https://github.com/oKermorgant/ecn_baxter_vs.git 
正克隆到 'ecn_baxter_vs'...
remote: Enumerating objects: 13, done.
remote: Counting objects: 100% (13/13), done.
remote: Compressing objects: 100% (10/10), done.
error: RPC failed; curl 56 GnuTLS recv error (-54): Error in the pull function.
fatal: The remote end hung up unexpectedly
fatal: 过早的文件结束符(EOF)
fatal: index-pack 失败

2.可能的原因和解决方案

1.缓存不够

按照下面操作增加缓存(命令行操作),若是不想使用命令行,也可以在用户家目录下的全局git配置文件.gitconfig中,直接更改文件内的内容

$ git config --global http.postBuffer 524288000
$ git config --list
http.postbuffer=524288000

二.使用 git 可能出现的问题和解决

1.问题描述

使用git clone 克隆代码时出现以下报错,这个一般是由于代码仓库太大,而本地网络不是很稳定都可以造成以下问题

2.解决办法

方法1:

可以将这些行添加到全局git配置文件.gitconfig中,这个文件在用户家目录下

# 在这之前可以执行 git config -l 命令看看已有配置项有哪些

[user]
	name = xxxx
	email = xxxx@admin.com
	packedGitLimit = 512m 
	packedGitWindowSize = 512m 
[http]
	postBuffer = 1048576000
	lowSpeedLimit = 0
	lowSpeedTime = 999999
[core]
	compression = 0
[pack] 
	deltaCacheSize = 2047m 
	packSizeLimit = 2047m 
	windowMemory = 2047m

解释:

  • 配置git的最低速和最低速时间
git config --global http.lowSpeedLimit 0
git config --global http.lowSpeedTime 999999         单位 秒
  • compression 是压缩的意思,取值为 [-1, 9],-1 以 zlib 为默认压缩库,0 表示不进行压缩,1~9 是压缩速度与最终获得文件大小的不同程度的权衡,数字越大,压缩越慢,最后得到的文件会越小。

方法2:

把上面的 compression = 0 改成 compression =-1

git config --global core.compression -1

compression 是压缩的意思,取值为 [-1, 9],-1 以 zlib 为默认压缩库,0 表示不进行压缩,1~9 是压缩速度与最终获得文件大小的不同程度的权衡,数字越大,压缩越慢,最后得到的文件会越小。


总而言之,以上的方法,不论是在命令行还是在在文件中直接修改,都改的是用户家目录下的.gitconfig文件

大家也可以在网上再搜一搜其他的解决办法,我看了很多资料,大体上都是更改.gitconfig文件中的配置,大家针对不同的问题可以尝试不同的方法

文章来源:https://blog.csdn.net/qq_64671439/article/details/135437093
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。