git 无法拉取项目,本地ping不通github的解决办法(详解)

一、遇到的问题

      本地在从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、既然无法访问主机,那就从增加主机路由开始

根据pingIP的报错信息,我们百度一下增加主机理由相关的:

参考链接: 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

============================================================

10月15号更新

我本地又出现了访问不了github,不能从git上面拉取项目的情况,十分气愤。
根据本篇博客,气冲冲的添加路由走一遍,还是不行!

后来分析本地ping github的报错情况,大家可以参考下面的文章:
https://blog.csdn.net/a136106345/article/details/7633065

我本地报错是:time out,代表已经在本地访问到路由表,但是访问github的时候报错:

正在 Ping github.com [192.30.253.113] 具有 32 字节的数据:

本机ip :无法访问目标主机

解决方案:

1、打开本机hosts
2、添加: 192.30.253.113 http://github.com 即可.、(这部分大家看着自己本地ping的报错信息来添加IP即可。)

============================================================

10月24号更新

      没错,我自己的笔记本又又又出问题了,还是无法从github上面拉取项目。这就很奇怪,明明根据解决两次相同问题的经验,应该秒解决才对。实际上呢,我还是花费一个小时在上面。这里再次记录一下,希望是最后一次记录这个问题。

1、先去查询github的IP地址
2、在hosts文件中添加IP地址,然后ping github:无法访问目标主机
3、百度,参考这篇文章:https://www.cnblogs.com/zhumengmeng/p/3938019.html

4、这里发现我的route add好像和文章上面的不一样,这里大家可以百度一下,我这边就是自己百度了网关的相关定义,只有了解本地机器之后,才能做出正确的判断

5、通过 ipconfig确认本地默认网关的地址

6、在CMD命令框中执行route add github的IP 本地默认网关 -p,然后保存,本地再ping github,已经成功。

个人感觉,最主要的就是把相关的路由加上,之所以一直ping不同,也是路由不对,无法解析github的dns地址。其次就是关于route的相关知识,记录一下。

end

  • 9
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

铁柱同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值