国内访问
github.com
总是那么不竟如人意,时而无法加载网页,时而等我们抽完了一根烟后,它还处于转圈的状态。虽然国内有
gitee.com
等诸多的代码托管平台,但却鲜有国人愿意去呢?其中的缘由,想必也不用我多说,大伙也都心知肚明了吧!即便
github.com
在国内访问慢,或是加载不出来,我们也宁愿等它慢慢地加载出来,却不愿将代码托管于境内的平台。
github.com 托管了 qiucode.cn 站点
由于将 秋码记录 托管于 github.com
上后,写些文章就得push
上去,然而当我push
上去时,却十有八九都会出现 github.com port 443: Timed out
的错误,代码显然是无法push
上去的了!
难道在国内,现在push
或是pull
github.com
,都是要靠运气吗?偶尔可以,大多数都是报错。
可是,“运气”总不能实时来关顾我们,要是那样的话,我早去买彩票
了,虽然有运气,买了彩票
,它也不一定中奖,毕竟古话早就有言:朝里有人好当官
。
然而,有没有一劳永逸
的解决之道呢?答案那是肯定有的,要不然,也就不会有这么一篇文章了,您也就不会花费您宝贵的时间来浏览本文,寻求与我遇到同样问题的解决方案了。
当我们想要clone
github.com
上的一个项目时,出现以下错误,那都是家常便饭了。
从报错信息来看,很显然这是https
请求超时,这是毋庸置疑的,毕竟我们访问github.com
都是是好是坏的!您在terminal
端不还是一样的请求超时嘛!
解决国内 push/pull github.com 项目出现 Timed out 的问题
毕竟,秋码记录 是托管于 github.com
上,总不可能写了一篇文章,想要push
到 github.com
,这次出现Timed out
的错误,就不push
,而是等到下次再写文章时,再push
,这显然不是我要的,毕竟,技术文章(在这里,我也就王婆卖瓜,自卖自夸
咯)是有时效性的!说是这么说,但并不妨碍的。
能出现Timed out
的问题,我们第一想到便是网络问题(有些事我们自己心里清楚就好了),其次才是本地git
配置问题。
那么,我们暂且略过网络问题
这一客观事实不谈,来说说本地git
的配置是哪里出现问题,而导致了出现Timed out
的问题呢?
我们还是回到 terminal
,输入以下命令测试ssh
是否成功?
ssh -T git@github.com
如果,您也出现了上图的结果,那显然是配置的问题了。
我们再次测试下port 443
是否也出现超时的问题?
ssh -T -p 443 git@ssh.github.com
可以看出,端口 443 请求是没问题,那么,为什么clone
项目时,却报出了port 443
请求超时的错误呢?
我们大致从上面的ssh
测试报错便可以得出结论了,那便是ssh
连接超时了。
而要想解决ssh
请求超时的问题,那就要从配置着手了,还是一样的在terminal
输入以下命令。
vim ~/.ssh/config
而后在进入编辑状态,填写以下内容
# Add section below to it
Host github.com
Hostname ssh.github.com
Port 443
输入完成后,按键盘左上方的ESC
键,输入:wq
。
现在,我们再次clone
github.com
就能成功了。