关于github登不上以及无法clone的解决方法

关于github登不上以及无法clone的解决方法

  • 前言
  • Ubuntu方法
  • Windows方法

前言

Github网站是很经常登不上去或者经常出现 git clone 无法连接的,解决方法大部分都是通过科学上网。
但实际上是可以完全摆脱科学上网的方法,并且有时候科学上网只能网页登录github但是还是无法clone,这里记录一下新的解决方法,十分高效可靠。(PS: 本人系统为Ubuntu22, 若是使用Windows的也可参考此文, 详见最后一章节)

Ubuntu方法

登录Github上的关于 GitHub 的 IP 地址这个网页,
请添加图片描述
按照文档说明点进 meta,这一页面里寻找 "web"部分,在"web"部分里面的那一堆 “20.xx.xx.xx” 都是github的官方地址:
在这里插入图片描述
可以随便找个如 20.27.177.113,直接在浏览器上方输入并回车(不需要前面的https),按照如下图片显示,点击Advanced,点击Proceed to 20.27.xxxx, 即可打开github网页。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
然后开始干正事了,人工对上述一堆ip进行ping,并且对比延时,拿延时最小的那个ip, Linux下打开Terminal,输入 ping 20.xx.xx.xx 来查看
在这里插入图片描述
可以对比到 20.27.177.113延时最低,然后 sudo vim /etc/hosts ,在最后加上20.27.177.113 github.com,当然也可以在上方加上一个注释,记住网址,当这个ip不能用的时候可以切换其他ip。(注意关于 GitHub 的 IP 地址文档里有句话:我们会不时更改我们的 IP 地址。 不建议按 IP 地址来创建允许名单
在这里插入图片描述
保存并退出,即可生效!可以发现不论是浏览器登Github还是git clone xxx均能成功!

PS: 有些博客会写 sudo vim /etc/hosts 之后还需要source /etc/hosts 一下,这里做个说明:不需要source即可生效,因为hosts只是个文本文件,不是.sh脚本文件,因此source文本文件是不会有任何动作的。

Windows方法

唯一不同点是 hosts文件的位置不同, hosts修改写法都是一样的,windows系统的 hosts文件 在 C:WindowsSystem32driversetchosts (PS:可能需要修改下文件的只读属性,并使用管理员权限才可以进行修改)