在git中克隆远程存储库时无法解决主机github.com错误


140

我做了什么:我在Github上创建了一个远程存储库,我正在尝试在本地计算机上克隆该远程存储库。克隆时,我提供了克隆URL和目标文件夹。

但是每次我尝试克隆时,都会出现此错误:

错误:“致命:无法访问' https://github.com/hyperion057/spring-repo.git/ ':无法解析主机:github.com”

我需要做什么才能连接到GitHub?


1
您正在使用什么命令?您是克隆https还是ssh?我只是试着克隆您的项目,并且成功了。
劳尔·雷内

我正在使用git GUI,并且正在通过HTTPS进行克隆。
HyperioN

1
打开一个终端并执行git clone git@github.com:hyperion057/spring-repo.git
Raul Rene 2013年

现在我遇到错误-ssh:github.com:没有与名称致命相关的地址:无法从远程存储库读取
HyperioN 2013年

2
您得到的错误基本上是在告诉您它无法连接。您可能已将代理设置为浏览器,但未在整个计算机上设置。尝试相应地设置代理,然后重试。
劳尔·雷内

Answers:


94

我需要配置代理设置吗?因为我的办公室有代理服务器。

是的,您可以通过设置HTTP_PROXYHTTPS_PROXY环境变量来实现。

请参阅“ 与github同步 ”:

set HTTPS_PROXY=http://<login_internet>:<password_internet>@aproxy:aport
set HTTP_PROXY=http://<login_internet>:<password_internet>@aproxy:aport
set NO_PROXY=localhost,my.company

注意NO_PROXY,以允许访问您公司的内部网站

您也可以在git config中注册它:

git config --global http.proxy http://<login_internet>:<password_internet>@aproxy:aport

但是,如果您的代理Git设置不正确,请删除它们:

cd /path/to/repo
git config --unset http.proxy
git config --global --unset http.proxy
git config --system --unset http.proxy

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

# double-check with:
git config -l --show-origin | grep -i proxy

1
这并不总是问题。请参阅下面的答案,但是有时如果mac磁盘空间不足,则需要删除一些文件并重新启动终端。
delrox

<login_internet>和<password_internet>是什么?
萨拉

@Sara使用企业代理时Windows会话的登录名/密码。
VonC

148

我收到了类似的错误,这是由不正确的代理设置引起的。这个命令救了我:

git config --global --unset http.proxy

https版本:

git config --global --unset https.proxy

9
即使您从未接触过代理设置并且当前不落后于此,也值得尝试。我认为这是在过去的酒店住宿期间(或在使用机上wifi时)自动设置的,并且有代理服务器。
Shawn Erquhart 2015年

4
请注意,这只会取消设置HTTP代理。如果您在连接HTTPS位置时遇到困难,请使用姐妹命令'git config --global --unset https.proxy'–
degs

1
这解决了我的问题。我从自制软件中收到了一个错误消息:“致命:无法访问' github.com/caskroom/homebrew-cask ':无法解析代理:wpad”,这解决了它。
amatusko

我从未接触过代理设置,没有更改我以前的任何工作设置,甚至从未使用过代理。但这是解决我的问题的方法。谢谢。
SummerEla 2015年

2
非常感谢。您能否告诉我为什么会出现此问题?
阿曼·坦登

41

花了几个小时尝试解决此问题。

重新连接我的wifi就可以了。


2
大声笑,这也是我的问题。我在另一台计算机上打开了浏览器(否则将使Mac失去工作能力)。我正在另一台PC上寻找解决方案。没注意到工作计算机已断开连接。
Nitin Nain

如果您对VPN感兴趣,那么一定要诀窍之一就是重新连接。非常感谢,这挽救了我的生命。
Sachidananda Naik

除了多次(在笔记本电脑上)打开和关闭wifi之外,我什么也没做。在最后一次打开/关闭后约40秒后,问题解决了。
lakesare

30

另一种可能性,我自己遇到了这个问题。但是那是在我安装了VPN之后(它是不相关的并且正在运行)

关闭VPN,解决了此问题。

作为记录,我在MacBookPro上运行“ Viscosity” VPN


1
呵呵,对我来说是另一回事。github.com仅在我使用VPN时解析。:|
Surpher'Sep

根据记录,这也是与ExpressVPN在MacBook Pro上
乔尔-

26

磁盘空间用完后,我遇到了同样的问题。关闭并重新打开终端会固定一次。接下来重启我的Mac。

在跳转到随机命令之前,请尝试一些简单的事情:

  • 重新启动终端标签
  • 重新启动终端应用
  • 如果磁盘已满(或接近磁盘),请释放一些磁盘空间,然后重新启动终端应用程序
  • 重新启动机器/操作系统

10
我在Mac上遇到过这种情况。重新启动我的终端,将其修复。
Sasha Vodnik

2
在debian安装上也一样。
MikeiLL

1
重新启动mac可以正常工作,但是看起来只要重新启动终端就足够了。我希望人们能看到这一点,因为我在这个和其他帮助站点上尝试了各种命令,进行了约20分钟的微型野鹅追逐。
雅各布·克罗夫特

1
仅关闭终端选项卡就足够了。
mwil.me,2017年


16

请注意,当我执行Brian的解决方案时:

git config --global --unset http.proxy

确保退出并重新启动终端。我一直没有解决,直到我做到了。

非常感谢,问题使我丧命!


1
请注意,这reset对我不起作用:我必须完全终止我的终端会话。
Salem

Brian早在2年前就采用了该解决方案。您能否详细说明您的答案是一个不同的答案,而不仅仅是应该对现有答案进行评论的内容?

@HansJanssen,经过编辑以引用Brian的回答,直到我退出并重新启动后,它才对我有用,这就是区别。
agrippa

1
修复了我的问题+1
法迪


3

在我的情况下,在Windows机器上,似乎需要重置我的TCP / IP堆栈。重置客户端PC的TCP / IP堆栈会导致git重新开始正常运行。在命令提示符下以管理员模式运行此命令,然后重试git命令:

netsh int ip reset

通过控制面板手动禁用和重新启用网络适配器会产生类似的结果。

我怀疑Windows框上TCP堆栈内的DNS解析问题。


3

我有以下非常类似的错误。

C:\wamp\www\myrepository [master]> git push
fatal: unable to access 'https://github.com/myaccount/myrepository.git/': Couldn't resolve host 'github.com'

实际上,提示信息告诉我们哪里出了问题。

https://github.com/myaccount/myrepository.git/

当我检查github时,我发现github仓库的HTTPS网址是

https://github.com/myaccount/myrepository.git

我不知道这是怎么发生的。安装的Git Shell自动设置了错误的URL。

在最后删除“ /”后,就可以成功推送了。


1
约翰,您好-您能否提供有关如何删除'/'的详细信息?我遇到了您在上面描述的相同问题。
user1259823 '16

1
你怎么修好它的?遇到同样的问题。
Sman

git remote -v看遥控器。git remote set-url origin https://github.com/USERNAME/REPOSITORY.git设置遥控器。
维克多·塞奇(ViktorSeč)

1
即使我也有同样的问题。我看不到“ /” git remote -v,但我正在看git push。如何解决呢?
Kalyanam Rajashree


2

以防万一子孙后代也陷于此:对我而言(在Mac OSX上有效)是将我的DNS设置为opendns 208.67.222.222,208.67.220.220。我在这里获得此号码:https : //www.opendns.com。由于某种原因,我的dns配置重置为默认数字(我想是我的本地ip),但我无法连接到github,brew或rubygems。抱歉,拼写错误。


2

今天,我面临着同样的问题,这也提供了另一种可能性。我做了以上所有建议,但仍然看到问题。我没有办法,只能重启我的Mac。


1

当您尝试上述解决方案但无济于事时,您可能需要签出本地网络设置并尝试将8.8.8.8本地路由器ip 添加到DNS文件中。


1

作为对Ubuntu服务器的建议,您可以在/etc/network/interfaces文件中写下essid和router的密码:

iface [en0 || your wireless driver no necessarily en0] inet static
    address 192.168.1.100 / (something for your static ip between 1-255)
    netmask 255.255.255.0
    gateway 192.168.1.1 / (this is the ip of your router)
    dns-nameservers 8.8.8.8 / (you can use whatever you want)
    wpa-ssid qwertyuio / (this is router id)
    wpa-psk qwertyuio / (this is router password for wireless connection)

当我得到这个错误,而拉库到我的服务器,我写的wpa-ssidwpa-psk并重新启动。然后它起作用了。

编辑:我再次遇到相同的问题,这一次是由于路由器信号电平的不一致。我的联系不牢固,这就是问题所在。但是,上述解决方案是静态ip的真正解决方案



1

您可以尝试这两个命令,它对我有帮助。

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


0

这里是边缘情况,但我几乎(几乎)在VirtualBox上尝试了上述所有答案,但没有采取任何措施,但不仅关闭VirtualBoxVM,而且关闭了很好的VirtualBox本身,然后重新启动了程序本身,结果却没有0抱怨。

希望可以帮助〜0.1%的查询者:)


0

从git clone remote删除多余的“ /”的简单解决方案是将网址放在括号中。git clone“”


0

此问题的一个原因可能是/etc/resolv.conf文件错误/为空。

我在centos 7 minimal中解决此问题的方式如下:我/etc/resolv.conf是空的,并添加了以下几行:

nameserver 192.168.1.1
nameserver 0.0.0.0

192.168.1.1我的网关在哪里,在您的情况下可能会有所不同。


0

根据其他解决方案,对我有用的是:

1.在终端中写:

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

2.重启-路由器重启-Mac

您可以先尝试-2-,如果不起作用,请尝试-1-和-2-


0

与所有这些解决方案不同,就我而言,我在重新启动终端(或打开另一个窗口)时解决了该问题。



0

如果以上所有答案均不能解决您的问题,请尝试重新启动路由器。

为我工作。


0

也许它可以帮助某人,在我的情况下(这是git的私人仓库),主机已被暂停,所以问题出在我的GitHub服务器上,管理员已解决了该问题。


0

当我使用“ service apache2 stop”时,它对我有用


请编辑答案,以解释为什么停止apache网络服务器会影响克隆git repo的能力。这里也没有提及克隆后启动Web服务器备份的问题,因此对于不熟悉并尝试过此操作的人来说,此答案可能被认为是危险的建议。
杰森·艾勒

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.