我做了什么:我在 Github 上创建了一个远程存储库,我正在尝试在我的本地计算机上克隆远程存储库。克隆时,我提供了克隆 URL 和目标文件夹。
但是每次我尝试克隆时,我都会收到此错误:
错误:“致命:无法访问‘https://github.com/hyperion057/spring-repo.git/’:无法解析主机:github.com”
我需要做什么才能连接到 GitHub?
https
还是 ssh
进行克隆?我只是试图克隆你的项目并且它有效。
git clone git@github.com:hyperion057/spring-repo.git
我遇到了类似的错误,这是由不正确的代理设置引起的。这个命令救了我:
git config --global --unset http.proxy
https版本:
git config --global --unset https.proxy
我需要配置代理设置吗?因为我的办公室有代理服务器。
是的,您可以通过设置 HTTP_PROXY
和 HTTPS_PROXY
环境变量来实现。
请参阅“Syncing with 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
(为避免在代理 URL 中明确显示您的凭据(用户名/密码),请参见下文)
请注意 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
无需凭据:使用 genotrance/px
。
如果您像我一样在 NTLM 代理背后的公司工作,您只需:
在任何你想要的地方解压 px-v0.4.0.zip
更改 px.ini 配置文件(将其放在 %USERPROFILE% 中),更改服务器行:[proxy] server = proxy.my.company:8080 <= use your company proxy:port listen = 127.0.0.1 port = 3128
在没有您的凭据的情况下使用 HTTP(S) 代理变量! (px 代理将通过 Microsoft SSPI 或 Microsoft Kerberos 重用当前 Widows 会话中的那些)
这会给你:
set HTTPS_PROXY=http://127.0.0.1:3128
set HTTP_PROXY=http://127.0.0.1:3128
set NO_PROXY=localhost,my.company
花了几个小时试图解决这个问题。
重新连接我的wifi就可以了。
另一种可能性,我自己遇到了这个问题。但那是在我安装了一个 VPN 之后(它不相关并且正在运行)
关闭VPN,解决问题。
作为记录,我在我的 MacBookPro 上运行“Viscosity”VPN
磁盘空间不足后,我遇到了同样的问题。关闭和重新打开终端修复了一次。接下来重新启动我的Mac。
在跳转到随机命令之前可以尝试一些简单的事情:
重新启动终端选项卡
重启终端应用
如果磁盘已满(或接近)释放一些磁盘空间,然后重新启动终端应用程序
重启机器/操作系统
想指出,当我做布赖恩的解决方案时:
git config --global --unset http.proxy
确保退出并重新启动终端。直到我这样做,我的才解决。
reset
在这里对我不起作用:我必须完全终止我的终端会话。
192.30.252.128 是 github.com 的当前 IP,可以在本地 DNS 中设置(Linux 中的 /etc/hosts 和 C:\Windows\System32\drivers\etc\hosts)
从答案 here ->我的解决方案专门针对 Windows Subsystem for Linux (WSL) 用户。与代理有关的答案都与我的解决方案无关。
如果您无法运行 ping 命令,例如
# WSL
ping google.com
那么很可能您在 /etc/resolve.conf
的文件已损坏。要解决此问题,请在 WSL 窗口中运行以下命令:
# WSL
sudo rm /etc/resolve.conf
然后在管理员模式下打开一个Powershell终端并运行
# Powershell
wsl --shutdown
Get-Service LxssManager | Restart-Service
这应该可以解决问题,可以通过再次运行 ping 命令进行测试。
我通过使用此命令解决了它
$git config --global http.proxy http://enter_your_proxy:enter_port
可能是因为你上网的原因,你可以试试:
ping google.com
如果您再次收到此错误,则说明您的网络配置有问题。
就我而言,在 Windows 机器上,我的 TCP/IP 堆栈似乎需要重置。重置客户端 PC 的 TCP/IP 堆栈导致 git 再次开始正常运行。在命令提示符下以管理员模式运行此命令,然后重试 git 命令:
netsh int ip reset
通过控制面板手动禁用和重新启用网络适配器会产生类似的结果。
我怀疑我的 Windows 机器上的 TCP 堆栈中存在 DNS 解析问题。
当您尝试上述解决方案但没有任何帮助时,您可能需要检查您的本地网络设置并尝试将 8.8.8.8
和您的本地路由器 IP 添加到 DNS
字段。
我有这个非常相似的错误,如下所示。
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 url 是
https://github.com/myaccount/myrepository.git
我不知道这是怎么发生的。安装的 Git Shell 自动设置了错误的 url。
一旦我删除了最后的“/”,我就可以成功推送。
git remote -v
查看遥控器。 git remote set-url origin https://github.com/USERNAME/REPOSITORY.git
设置遥控器。
git remote -v
的“/”,但我在做 git push
时看到了。如何解决这个问题?
所有,我想让你们都知道我遇到了同样的问题。我通过重置我的远程 URL git remote set-url origin https://new.url.here 来解决它我从这个答案中找到了如何做到这一点,但我不得不将命中更改为 https:Change the URI (URL) for a remote Git repository
以防万一后代也陷入困境:对我来说(在 mac OSX 上)有效的方法是使用 opendns 208.67.222.222、208.67.220.220 设置我的 DNS。我在这里得到这个数字:https://www.opendns.com。出于某种原因,我的 dns 配置重置为默认数字(我猜是我的本地 ip),我无法连接到 github、brew 或 rubygems。抱歉拼写错误。
这里的边缘情况,但我在 VirtualBox 上尝试了(几乎)上述所有答案,但什么也没做,但随后不仅关闭了 VirtualBoxVM,而且关闭了良好的 ole VirtualBox 本身并重新启动程序本身就成功了,没有 0 投诉。
希望可以帮助〜0.1%的查询者:)
此问题的一个原因可能是错误/空的 /etc/resolv.conf
文件。
我在我的 centos 7 minimum 中解决这个问题的方法如下:我的 /etc/resolv.conf
是空的,我添加了以下几行:
nameserver 192.168.1.1
nameserver 0.0.0.0
其中 192.168.1.1
是我的网关,在您的情况下它可能会有所不同。
如果您有一个 VPN 需要连接到您的企业帐户并执行“git pull”,则会发生此错误,只需打开您的 VPN 即可。
重新启动后,下面的 git bash 对我来说很好:
git push -f origin master
作为 Ubuntu 服务器的建议,您可以在 /etc/network/interfaces
文件中写下路由器的 essid 和密码:
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-ssid
和 wpa-psk
并重新启动。然后它起作用了。
编辑:我又遇到了同样的问题,这次是因为路由器信号电平不一致。我的连接不牢固,这就是问题所在。但是,上面的解决方案是静态ip的真正解决方案
就我而言,我打开一个新终端并解决了问题。我不知道到底是什么导致了这个问题。
从 https://github.com/ 的 Chrome 开发工具清除空缓存并硬重新加载后,这对我有用。
打开您的 Chrome 开发工具并右键单击重新加载图标,然后您可以看到此选项。
https://i.stack.imgur.com/5cosW.png
从 git clone remote 中删除额外的“/”的简单解决方案是将 url 放在括号中。 git克隆“”
与所有这些解决方案不同,就我而言,我在重新启动终端(或打开另一个窗口)时解决了这个问题。
在 Mac 中重新启动终端有效。
通过 https 克隆 git 存储库时,我遇到了这个问题的不同版本:
fatal: unable to access 'https://GIT_USER:GIT_PASSWORD@github.com/organization/repo.git/': Could not resolve host: GIT_USER
问题是密码中有受限制的字符,需要进行 URL 编码。此外,如果您使用 2FA(两因素身份验证),则应使用个人访问令牌代替密码。
搜索上面的错误条件会在谷歌上产生这个页面,所以希望这个答案能节省一些人的时间。
对于使用 TortoiseGit 的 Windows 用户,请参阅设置-网络,并直接在此处输入代理设置。我全年都必须做的最简单的修复。
我在终端上运行命令,然后重新启动终端。
git config --global --unset https.proxy
但它不起作用。然后我在 Mac 上关闭并打开我的 wifi。
git push
有效。
如果您的代理服务器没有用户名和密码 -
改成这样——
192.168.49.1:8282
- <your-proxy-ip>:<port>
git config ---global http.proxy 192.168.49.1:8282
git config ---global https.proxy 192.168.49.1:8282