项目场景:常规 git 操作遇到连接超时问题
例如:git pull 或者 git push 等等一系列操作,无论怎么设置,始终显示 git connection timed out ! 瞬间觉得github ****,其实可能是我们没搞懂他,看下面即可帮你搞定连接超时的问题!
问题描述
突然遇到connection timed out 搜索网上常规的解决方案(设置https代理和设置连接github的端口20/443)都无法解决超时问题!
原因分析:
突然遇到git connection timed out 一般有点经验的都会第一时间想到是网络问题,这一点绝对没错,确实是网络问题导致,但是!!!你发现用代理了,依然还是会git connection timed out, 于是各种百度,各种设置连接github的端口,有的确实能解决,但是对你还是依然无效,这种就极有可能是下面这种情况!那就是你设置的代理不对应你连接github的方式!
以下是最常用两种从github上克隆仓库的方式:
1.https克隆(推荐)
2.ssh克隆(不推荐)
如果你采用第二种ssh连接方式,那恭喜你,网上百分之90的参考都是无效的!因为他们的方法都是基于第一种https去讲解的,很多博主都没有在文中指出所针对的连接方式,存在误导!
解决方案:
首先查看本地仓库与github的连接方式:git remote -v
以ssh连接显示如下:
以https连接显示如下:
如果说你采用的ssh方式连接的github来进行代码管理,这时候你设置的https代理是完全无效的,解决方式有两种:要么换为https连接,要么设置ssh连接可用的代理方式。
原来是以ssh连接要转变为https连接(简单方便,推荐):
在本地仓库下打开命令输入:git remote set-url origin https://xx/xxx/xxx.git
其中origin是默认的远程仓库名称,如果有自定,更换成对应的即可。
https://xx/xxx/xxx.git对应的是以https连接方式的远程仓库地址,也就是 1.https克隆(推荐) 所指出的连接方式。
这里更换连接方式了可能需要重新配置用户名和邮箱
# git config命令的–global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。
# 1.查看git配置信息
git config --list
# 2.查看git用户名、密码、邮箱的配置
git config user.name
git config user.password
git config user.email
# 3.设置git用户名、密码、邮箱的配置
git config user.name "xxx"
git config user.password "xxxx"
git config user.email "xxxx.com"
# 3.设置git用户名、密码、邮箱的配置(全局配置)
git config --global user.name 用户命
git config --global user.name freedom
git config --global user.password 密码
git config --global user.password abc0506abc
git config --global user.password 邮箱
git config --global user.email "[email protected]"
# 4.修改git用户名、密码、邮箱的配置(跟设置语法一样,没有用户名就添加,有了用户名就修改)
git config user.name "freedom"
# 4.修改git用户名、密码、邮箱的配置(全局配置)
git config --global user.name "freedom"
原来是以ssh连接想要设置ssh的代理(比较麻烦,不推荐):
设置链接在此
版权归原作者 剁椒没有鱼头 所有, 如有侵权,请联系我们删除。