我在推送代码时遇到了问题。
git push origin master
fatal: unable to access 'https://xxxxxxxxxx@bitbucket.org/xxxxxx/xxxxxx.git/':
Failed to connect to bitbucket.org port 443: Network is unreachable
如何避免那个错误信息?
git push -4 origin master
有关通过https访问Bitbucket的当前问题报告问题(问题13060, 问题12184)存在问题。
通常的答案是:
“连接失败”错误可能是DNS问题、本地网络问题或不完全路由Bitbucket流量的ISP等任何问题。不幸的是,这些评论中没有足够的细节来诊断确切的问题,这些问题可能与彼此相关或不相关。如果可以,请打开支持票据,并提供以下命令的结果:
对于OS X、Linux和其他基于UNIX的操作系统:
ping -c10 bitbucket.org
ping6 -c10 bitbucket.org
traceroute bitbucket.org
traceroute6 bitbucket.org
GIT_CURL_VERBOSE=1 git ls-remote https://bitbucket.org/bitbucket/do_not_delete
ping -n 10 bitbucket.org
ping -n 10 -6 bitbucket.org
tracert bitbucket.org
tracert -6 bitbucket.org
https://ipv6.google.com
https://www.v6.facebook.com
记住Since July 28, 2018: IPv4 inbound for bitbucket.org, api.bitbucket.org, and altssh.bitbucket.org
18.205.93.0/25 18.234.32.128/25 13.52.5.0/25
ping
可能被阻止, 导致相同的错误信息。
IPV6可能会出现问题:同一线程建议:
这可能是在git尝试通过IPV6推送时发生的。我不确定为什么会出现这个错误。但是,以下是可以用来解决此问题的不同解决方案。
将以下任何一个IP添加到/etc/hosts文件中以强制git使用IPV4
104.192.143.2
104.192.143.3
104.192.143.1
That is,
104.192.143.2 bitbucket.org
修改
/etc/hosts 文件
(或者)
升级你的 git 到最新版本。可能这样可以解决问题,否则在升级 git 后推送时使用以下选项(这个功能是新添加到 git 中的)
-4, --ipv4 use IPv4 addresses only
That is ,
git push -4 bitbucket dev
-4
。或者,您可以配置Git使用HTTP代理来解决此问题。 git config --local http.proxy http://proxyuser:proxypwd@proxy.server.com:8080
-4
强制Git使用IPV4地址,或者您可以使用/etc/hosts
。如果您想在推送或拉取代码时查看调试消息,您可以在此之前设置以下环境变量。export GIT_CURL_VERBOSE=1
ping6
和 traceroute6
不起作用。使用 traceroute6
会得到 无效参数
的错误提示,而使用 ping6
则会显示 不可达:没有路由
。 - Gurpreet Singh我在这个页面上关注了讨论,并将此行添加到我的hosts文件中:
104.192.143.2 bitbucket.org
它有效。我的系统是Ubuntu,因此主机文件位于/etc/hosts
,您需要具有根权限。
这太疯狂了,我从/etc/hosts
中删除了104.192.143.2 bitbucket.org
后,它就为我工作了。
Host bitbucket.org
AddressFamily inet
/etc/hosts
中删除了104.192.143.2 bitbucket.org
。它开始工作了。
编辑:
我再次遇到错误:Failed to connect to bitbucket.org port 443: Network is unreachable
。18.205.93.0 bitbucket.org
,现在它完美地工作了。您可以通过输入此命令ping -c10 bitbucket.org
找到ip。我已经解决了这个问题。 其中一个原因是由于您所在的系统处于代理网络中。 在这种情况下,您需要运行以下命令:
$ git config --global http.proxy http://username:password@proxy:port
其中,用户名:您的系统用户ID | 密码:系统密码 | 代理:您正在使用的代理的IP地址 | 端口:该代理的端口|
这是由于我的组织网络的网络限制造成的。
切换网络供应商。有时您的网络供应商会导致此类问题。
建议1:只需删除您的原始文件并重新设置原始文件,然后尝试推送/拉取。希望这样做可以解决问题。
git remote -v
git remote remove origin
git remote add origin https://habibus@bitbucket.org/softbd/oss-project.git
建议2:如果Windows/System32/drivers/etc/hosts
中存在以下任何一行,请删除这些行。
104.192.143.1 bitbucket.org
104.192.143.2 bitbucket.org
18.205.93.0 bitbucket.org
建议3:更换网络连接或网络服务提供商。有时候是网络服务提供商造成了这种错误。
建议4:检查防火墙设置。有时候防火墙也会导致出现此类错误。
建议5:检查您的 git 版本,然后运行以下命令进行升级。
sudo add-apt-repository ppa:git-core/ppa
sudo apt-get update
sudo apt-get install git
检查防火墙设置。在我的情况下,这是问题所在。
针对Windows,打开您的命令提示符并执行:
这肯定会解决问题。它在我的电脑上有效。
https://bitbucket.org/USERNAME/REPO.git
- Arman