[git]解决GnuTLS recv error (-9) 方案验证有效

说明

场景: ubuntu系统自带的git 直接拉去https://gitee.com仓库时,如果仓库过大,经常下载到一半出现GnuTLS报错,网上查阅并没有太多有价值东西,都是各处复制粘贴,甚至有奇奇怪怪的教程,比如重装git????? 我一脸的疑惑。

git所有配置都会存放在用户目录下的**.gitconfig**文件里,当前我的配置如下,但是并没有什么卵用,重装为最新的也不能解决

[safe]
	directory = /mnt/d/workspace/openharmony/device_board_bearpi
[user]
	name = XXXlus
	email = XXX@outlook.com
[credential]
	helper = store
[http]
	postBuffer = 524288000
	sslVerify = false
	lowSpeedLimit = 0
[https]
	postBuffer = 524288000
	sslVerify = false

[core]
	compression = -1

更改buffer 也许在某些场景下有用,但是在当前 错误码(-9)是没用的,

有效的解决方案

根据多方资料查证,有人说更换GnuTLS,原因在于他的问题,感觉这个是说的方向是对的,也有人说https更换成git 但是我尝试直接无效,那么从这个方向看,那就是想办法绕过GnuTLS的方向。
已知gitee.com拉取openharmony/docs.git代码方式提供两种

  1. git clone --depth=1 https://gitee.com/openharmony/docs.git
  2. git clone --depth=1 git@gitee.com:openharmony/docs.git

当前使用 https 会报错,那就使用 第二种方式拉取资料

  • 创建创建gitee.com账号并登录
  • 客户端生成 sshkey,并将 ssh公钥 加入到gitee账户下:设置->安全设置->ssh公钥
  • ssh -T git@gitee.com 命令测试是否配置成功
  • 使用第二种方式命令拉取代码便不再报错

gitee.com上配置ssh官方资料地址 https://gitee.com/help/articles/4181

最后

我在成功克隆到docs.git后 又把之前所有无效的配置全部恢复默认,仍然能够正常克隆,证实此方案的有效性。
.gitconfig文件移除众多无效配置

[safe]
	directory = /mnt/d/workspace/openharmony/device_board_bearpi
[user]
	name = XXXlus
	email = XXX@outlook.com
[credential]
	helper = store

简单介绍
safe: git本地地址,写入到这里的才能在文件夹中使用git命令
user: 用户的个人信息配置,必要的 可以与网站不一致
credential: 启用密码保存

当使用Git时,遇到"GnuTLS recv error (-54): Error in the pull function"错误通常意味着从远程Git仓库获取数据时出现了问题。可能的原因包括以下几种: 1. Git配置问题:可能是由于Git客户端配置错误导致无法获取数据。例如,可能设置了不正确的代理配置、使用不正确的认证方式等。 2. 代理配置问题:如果使用代理服务器连接到远程Git仓库,可能会出现代理服务器配置问题,如代理服务器无法连接、代理服务器证书不被信任等问题。 解决这个问题的方法有几种: 1. 检查Git配置:请确保Git客户端的配置正确无误。可以尝试使用以下命令检查和修改配置信息: ``` git config --list git config --global http.proxy git config --global http.sslVerify ``` 如果发现配置有误,可以使用以下命令进行修改: ``` git config --global --unset http.proxy git config --global http.sslVerify true ``` 请根据实际情况调整配置。 2. 检查代理配置:如果使用代理服务器连接到远程Git仓库,请确保代理服务器配置正确。可以尝试在终端中运行以下命令来检查代理服务器是否正常运行: ``` curl -x <proxy_host>:<proxy_port> https://www.google.com ``` 如果无法连接到代理服务器,请检查代理服务器配置并确保代理服务器证书被信任。 如果上述方法无法解决问题,*** 2. 更新Git版本:有时,旧版本的Git可能会导致某些问题。尝试更新到最新版本的Git,然后重新尝试拉取远程仓库。 请根据具体情况逐一尝试上述方法,以解决"GnuTLS recv error (-54): Error in the pull function"错误。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值