admin管理员组

文章数量:1618721

详细报错信息:

正在推送 master
将分支推送到远程存储库时遇到错误: Git failed with a fatal error.
Git failed with a fatal error.
unable to access 'https://github/sfssa/MT4Library.git/': Recv failure: Connection was reset

解决办法:

Windows+R输入CMD打开命令行:

在命令行中输入:ping www.github,得到下图所示:

 或者输入命令:nslookup github,得到下图:

上述两种方法得到的IP地址就是服务器地址,也就是上图中的:20.205.243.166

找到Windows中hosts配置文件,位于C:\Windows\System32\drivers\etc这个路径下,如果记事本无法打开那么就先将hosts文件复制一份到桌面,然后将其后缀改成txt,在里面加上下面的IP和域名后将后缀名删除,将hosts.txt还原成hosts,在覆盖原来的hosts文件;

如果有notepad++那么直接以管理员身份打开后,将下面这句话加入到hosts文件中:

20.205.243.166 github

解释说明:

unable to access 'https://github/sfssa/MT4Library.git/': Recv failure: Connection was reset造成这个报错的原因主要是网络连接问题,GitHub的服务器在外国,或者是防火墙代理、DNS解析的问题。

将"20.205.243.166 github"添加到hosts文件中是一种手动指定域名与IP地址的映射关系的方法。这样做的目的是绕过DNS解析过程,直接将github这个域名映射到指定的IP地址,即20.205.243.166。这样,当你在浏览器或其他网络应用中访问github时,系统将不再向DNS服务器查询域名的IP地址,而是直接使用你在hosts文件中指定的IP地址。

通过手动设置,可以

  1. 提高访问速度:如果你的DNS服务器响应缓慢,手动指定IP地址可以减少DNS解析时间,从而加快访问速度。

  2. 解决DNS解析问题:有时DNS解析可能出现问题,可能是由于DNS服务器故障或其他网络问题。手动指定IP地址可以绕过这些问题,让你能够继续访问网站。

  3. 屏蔽网站:在某些情况下,你可能希望屏蔽某个网站,让它无法在你的电脑上访问。你可以将该网站的域名映射到一个不存在的IP地址,从而实现屏蔽效果。

但是也存在问题,如果你按照上述修改后,未来有一天发现突然有出现了问题,记得检查下是不是服务器的地址发生了改变,这个时候就需要按照上述的方法重新搜索GitHub的服务器地址并设置。

补充

上面的方法当我第二天再次尝试的时候就失效了,并且查了IP并没有改变。

后来发现可能是代理问题,先在git的UI界面执行下面两条命令:

git config --global --unset http.proxy
git config --global --unset https.proxy

然后打开命令行清理DNS缓存:

ipconfig/flushdns

再次在vs2019上先提交,然后推送,显示成功!

本文标签: 报错GitHubGitResetConnection