尼采般地抒情

公告栏

此网站主题为本人手写主题,主题还在开发中……


作者:尼采般地抒情

站点信息

文章数目:275
已运行时间:
目录
  1. 一、报错信息与原因分析
    1. 报错信息
    2. 原因分析
  2. 二、常规解决方案
    1. 常规解决方案 1:改代理
    2. 常规解决方案 2:改变本地 hosts 文件
  3. 三、针对性解决方案
    1. 针对 clone 失败
    2. 针对 pull、push 失败
  4. 参考

尼采般地抒情

尼采般地抒情

公告栏

此网站主题为本人手写主题,主题还在开发中……


作者:尼采般地抒情

站点信息

文章数目:275
已运行时间:

image.png

前言:今年 GitHub 的各种操作被屏蔽的挺迷的,一开始我只是以为偶尔报个连接失败的 port443 的错误,但是后来经常性的出现本地 push 不上 GitHub 的情况,在此情况记录一下各种情况(clone、pull、push……)连接不上的解决办法。

一、报错信息与原因分析

报错信息

Git push出(10054)/(port 443:time out)错

git push error: RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054

原因分析

  1. 由于 Http 协议错误,当 pull 或者 clone 的时候,或者是 github 某个 CDN 被 qiang 屏蔽所致。
  2. 用了 kexueshangwang 工具之后,由于更改代理服务器连接端口,导致本地 push 偶尔失败(但是以前有用)。

二、常规解决方案

2021.06.29更新解决方法:【针对clone失败】https的连接不行,那就用ssh的连接。 2021.07.13更新解决方案:【针对pull、push失败】ssh连接push连接不行,那就用token来push。
常规解决方法: 第一种方法是下面的三条命令,另外如果用了该三条命令还不行,那就ctrl + c ,再进行输入命令,以此往复,总会出现GitHub的登录框的……; 第二种方法就是在本地对host进行更改,让其可以访问github网站的相关ip;

常规解决方案 1:改代理

10054 的 bug 复制下面的

git config http.postBuffer 524288000

443 的 bug 复制下面的

# 设置ss
git config --global http.proxy 'socks5://127.0.0.1:10080'
git config --global https.proxy 'socks5://127.0.0.1:10080'
# 设置代理
git config --global https.proxy http://127.0.0.1:10080
git config --global https.proxy https://127.0.0.1:10080
# 取消代理
git config --global --unset http.proxy
git config --global --unset https.proxy

常规解决方案 2:改变本地 hosts 文件

https://www.ipaddress.com/里面查找下面三个域名的 ip 地址

  • github.com
  • github.global.ssl.fastly.net
  • codeload.github.com

将其添加到本电脑 hosts 文件当中
C:\Windows\System32\drivers\etc\hosts 
类似下面:
image.png
CMD 窗口刷新 DNS 缓存

ipconfig /flushdns

三、针对性解决方案

上面两种方案理论上解决了问题,但是奇葩的问题年年有,上述两种方案都不能解决,就用如下方案:

针对 clone 失败

如果 https 连接失败,使用 ssh 链连接(前提是电脑端配置了 ssh),如果 ssh 连接也不行,那就下面的针对 pull、push 失败的方案。
image.png

针对 pull、push 失败

ssh 连接不行,那就使用 token 来连接

git push https://一串token@github.com/wztlink1013/datastructure-algorithm

参考

评论区

Beaudar Twikoo

最新评论

Loading...