一、遇到的问题
本地在从github上拉取项目的时候,一直卡着,然后过个2分钟就报错,连接超时。问题是我前几天还能git pull
项目呢,百思不得其解。后来本地浏览器访问github
,得,连全世界最大的基佬交友网站都访问不了。本地ping
一下IP吧,果然ping
不通。
二、解决过程
说解决过程,当然是万能的百度和google。
1、修改hosts
如果大家也碰到和我一样的情况,那么百度最多的解决方案就是修改hosts。博主这边把主流的修改hosts文件的方法都试了一下,对我是没什么用。不过大家可以试试,也许就有用呢。
参考链接: https://yq.aliyun.com/articles/5031
2、ping github.com
这部分就是ping
一下github的Ip地址,看看报错信息是什么。关于IP地址,随便在网上搜索“IP地址”,然后输入github.com
即可获取到github
的IP地址。
我这边报错信息是:无法访问目标主机
3、翻墙试一试
这种情况,博主也以为只是单纯的被墙了,所以翻墙试了试,翻墙之后能正常访问github
,但是本地还是ping
不同ip地址。git pull
依旧死气沉沉。这说明不是单纯的网络问题,而很有可能是我自己电脑的问题。博主的电脑是win10系统的。
4、既然无法访问主机,那就从增加主机路由开始
根据ping
IP的报错信息,我们百度一下增加主机理由相关的:
参考链接: https://www.cnblogs.com/zhumengmeng/p/3938019.html
这部分先通过 ipconfig 获取到本地默认网关,然后执行 route add 本地默认网关 ping的ip地址 -p
修改之后,能正常ping通github的ip,并且浏览器可以正常访问github的网址,git bash可以正常拉取项目。
三、关于CMD命令 route
虽然我们解决了自己的问题,但是windows系统下的这个route
概念我还是第一次接触,必须要学习一下下。这里网上关于route的资料已经很多了,博主这边给出几个不错的链接,方便大家学习。
参考链接:
https://blog.csdn.net/bcbobo21cn/article/details/52548923
https://blog.csdn.net/bcbobo21cn/article/details/52548923
四、我的理解
本地通过 route add ... -p
相当于在路由表中添加了一个永久路由。此时我们继续ping github的ip地址
,此时不存在
找不到目标主机的问题。而route 命令的本意便是可以同时访问两个ip。我这边因为电脑用的ip是公司的内网,而要访问github的话,就需要把 github的 ip加入到静态路由中,这样就可以正常被dns解析访问。(可能理解有偏差,欢迎指正)
此次解决错误的过程中,感觉自己的方法用的不对。当我发现ping IP
的报错信息之后,应该第一时间锁定报错信息的。而不是去试验其他的方法,白白浪费了几十分钟,罪过罪过。
end