我所做的:我在Github上创建了一个远程存储库,我试图在我的本地机器上克隆远程存储库。克隆时,我提供克隆URL和目标文件夹。

但每次我尝试克隆,我得到这个错误:

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

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


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

是的,您可以通过设置HTTP_PROXY和HTTPS_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

(为了避免在代理URL中明确放置您的凭据—用户名/密码,请参见下文)

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

你也可以在你的git配置中注册:

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%),更改服务器行: (代理) Server = proxy.my.company:8080 <=使用您公司的proxy:port Listen = 127.0.0.1 端口= 3128 使用HTTP(S)代理变量没有您的凭据!(px代理将通过Microsoft SSPI或Microsoft Kerberos重用当前寡妇会话中的文件)

这将给你:

set HTTPS_PROXY=http://127.0.0.1:3128
set HTTP_PROXY=http://127.0.0.1:3128
set NO_PROXY=localhost,my.company

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

关闭VPN,修复了这个问题。

声明一下,我在我的MacBookPro上运行“粘度”VPN


所有人, 我想让你们知道我也有同样的问题。我通过重置我的远程URL git远程set-url origin https://new.url.here来解决这个问题,我发现了如何从这个答案做到这一点,但我必须将hit更改为https:更改远程git存储库的URI (URL)


192.30.252.128是github.com的当前IP,可以在本地DNS (Linux和C:\Windows\System32\drivers\etc\hosts)中设置。


我得到了类似的错误,这是由不正确的代理设置造成的。这个命令拯救了我:

git config --global --unset http.proxy

https版本:

git config --global --unset https.proxy

在我的例子中,在Windows机器上,我的TCP/IP堆栈似乎需要重置。重置客户端PC的TCP/IP堆栈导致git重新开始正常工作。在管理员模式下在命令提示符下执行该命令,然后重试git命令:

netsh int ip reset

通过Control Panel手动禁用和重新启用网络适配器也会产生类似的结果。

我怀疑在我的Windows机器上的TCP堆栈内部存在DNS解析问题。


当你尝试上述解决方案,没有帮助,你可能需要检查你的本地网络设置,并尝试添加8.8.8.8和你的本地路由器ip到DNS字段。


花了几个小时才修好。

重新连接wifi起作用了。


我也犯过类似的错误。

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。

一旦我删除了末尾的“/”,我就可以成功地推了。


以防后代也陷入困境: 对我来说,什么工作(在mac OSX)是设置我的DNS与opendns 208.67.222.222, 208.67.220.220。我在这里得到这个数字:https://www.opendns.com。出于某种原因,我的dns配置重置为默认数字(我猜是我的本地ip),我无法连接到github, brew或rubygems。很抱歉拼写错误。


我用这个命令解决了它

$git config --global http.proxy http://enter_your_proxy:enter_port

在耗尽磁盘空间后,我也遇到过同样的问题。关闭和重新打开终端固定一次。下次重启我的Mac。

在跳转到随机命令之前,可以尝试一些简单的方法:

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


对于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的真正解决方案


我想说的是,当我做布莱恩的解时

git config --global --unset http.proxy

确保退出并重新启动终端。我的问题直到我这么做了才解决。


这里的边缘情况,但我尝试了(几乎)以上所有的答案在VirtualBox和什么都没有做,但然后关闭不仅VirtualBoxVM,但好ole VirtualBox本身和重新启动程序本身的技巧没有0抱怨。

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


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

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

nameserver 192.168.1.1
nameserver 0.0.0.0

192.168.1.1是我的网关,在您的情况下,它可以是不同的。


从git克隆远程删除额外的“/”的简单解决方案是将url放在括号中。Git克隆"


在我的情况下,我打开了一个新的终端,问题解决了。我不知道到底是什么导致了这个问题。


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


在Mac中重新启动终端工作正常。


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


在我的情况下(这是一个私人的git回购),主机被挂起,所以问题是我的GitHub服务器和管理员解决了它。


我以前用过

service apache2 stop

我想我的情况非常罕见,但GitHub已经下线了。检查他们的网页,看看是否加载正常。

GitHub


如果你有一个VPN需要连接到你的企业账户,并做了一个“git pull”,这个错误就会发生,只要打开你的VPN,它就会工作。


也许是因为你有网络,你可以试试:

ping google.com

如果你再次得到这个错误,你的网络配置有问题。


在通过https克隆git存储库时,我遇到了这个问题的另一个版本:

致命:无法访问'https://GIT_USER:GIT_PASSWORD@github.com/organization/repo.git/':无法解析主机:GIT_USER

问题是密码中有限制字符,需要进行URL编码。此外,如果您使用2FA(双因素身份验证),则应使用个人访问令牌来代替密码。

搜索上面的错误条件会在谷歌上找到这个页面,所以希望这个答案能节省一些人的时间。


对于使用TortoiseGit的Windows用户,请参见settings - network,并直接在那里输入代理设置。这是我今年最简单的解决办法了。


我在终端上运行命令,然后重启终端。

git config --global --unset https.proxy

但是没有用。然后我打开和关闭了Mac上的wifi。

git push

它工作。


从这里的答案->我的解决方案是特定于Windows子系统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 bash下面的工作对我来说很好:

git push -f origin master

如果您的代理服务器没有用户名和密码-

像这样改变它-

192.168.49.1:8282 - <your-proxy-ip>:<端口>

git config ---global http.proxy 192.168.49.1:8282
git config ---global https.proxy 192.168.49.1:8282

我收到了同样的消息,后来我发现问题是我没有连接到远程回购所在的VPN…


在克隆存储库之前,只需在kali linux终端中输入以下命令:-

service NetworkManager start

在清除空缓存和硬重载从Chrome开发工具https://github.com/后,这对我来说是有效的。

打开你的Chrome开发工具,右键单击重新加载图标,然后你可以看到这个选项。


Add

命名服务器8.8.8.8

在/etc/resolv.conf中重新启动


如果你在Windows主机上使用wsl guest vm中的git,并连接到主机上的vpn来访问github,那么你可以在Windows主机配置中添加github的ip地址来临时解决这个问题。因为wsl2路由连接到vpn隧道有问题。 例如,在C:\Windows\System32\drivers\etc\hosts中添加如下行

# used from wsl, need update periodically
20.205.243.166  github.com
20.205.243.168  api.github.com

我可以通过拔掉我的以太网电缆并重新插入来解决这个问题。重启可能也可以,但这是我解决问题的唯一方法。接下来我要尝试的是重启。


在我的具体案例中,有一个叫做ZScaler的软件阻止了互联网的访问。重新启动就解决了这个问题。我想你需要在设置代理和所有其他东西之前重新启动你的电脑,因为问题的本质可能比你想象的要简单。有时只是不能上网。