GIT -致死性:无法解析主机:bitbucket.org

bvn4nwqk  于 2022-11-20  发布在  Git
关注(0)|答案(8)|浏览(145)

我知道有很多像我这样的Git问题,我可以向你保证,我一直在网上搜索,尝试所有的解决方案,到了我需要发布自己的问题的地步。
一般信息:
操作系统:Windows 7
Git版本:1.9.0.msysgit.0系统配置文件
ssh版本:OpenSSH_4.6p1、OpenSSL 0.9.8e 2007年2月23日
Git错误消息:

E:\git-projects\project-psl-v3>git push
warning: push.default is unset; its implicit value is changing in
Git 2.0 from 'matching' to 'simple'. To squelch this message
and maintain the current behavior after the default changes, use:

  git config --global push.default matching

To squelch this message and adopt the new behavior now, use:

  git config --global push.default simple

When push.default is set to 'matching', git will push local branches
to the remote branches that already exist with the same name.

In Git 2.0, Git will default to the more conservative 'simple'
behavior, which only pushes the current branch to the corresponding
remote branch that 'git pull' uses to update the current branch.

See 'git help config' and search for 'push.default' for further information.
(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode
'current' instead of 'simple' if you sometimes use older versions of Git)

ssh: bitbucket.org: no address associated with name
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

于是问题来了:
如何解决此问题并推送到远程存储库?
我没有改变我的电脑上的任何东西(windows更新可能?)
我可以在本地提交,我有正确的ssh密钥。
我试着克隆另一个存储库,同样的错误信息。
我有正确的权限。
我也尝试过通过https,同样的错误信息.
我重新安装了ssh和git,同样的错误信息。
我还将我的dns更改为4.2.2.1和8.8.8.8,同样的错误消息。
我的互联网选项上也没有代理。
我们将非常感谢您对解决此问题的任何其他想法。
提前干杯,
里斯

uxh89sit

uxh89sit1#

虽然听起来很奇怪,但重新启动电脑的工作,因为我相信这是由我的电脑异常关机造成的。

368yc8dk

368yc8dk2#

我收到了同样的消息,并在命令行上将设置更改为

git config --global push.default current

...因此它将始终使用我的当前分支作为默认值来推送。
在你的仓库中,你可以做一个git config -l来查看仓库的设置,这将显示所有的设置:系统级、全局级和项目级。
关于SSH:有没有可能您需要在ssh-config中设置一个名为“www.example.com“的ssh快捷方式bitbucket.org,以便能够在命令行中发出ssh bitbucket.org命令?我在互联网上搜索“ssh config file”时找到了一些这样的例子
有关SSH部分,请参阅本手册:https://confluence.atlassian.com/display/BITBUCKET/Set+up+SSH+for+Git

jv4diomz

jv4diomz3#

SSH没有和DNS对话。我研究过这个问题,Atlasssian网站上的论坛没有提供这个问题或解决方案。SSH设置页面是关于密钥对的,而不是DNS。RhysBlackberry的上述评论是有效的;用IP地址替换bitbucket.org。以下示例假定remote名为origin。使用ping验证连通性并获取ip。

>ping -n 1 bitbucket.org

Pinging bitbucket.org [131.103.20.168] with 32 bytes of data:
Reply from 131.103.20.168: bytes=32 time=109ms TTL=128

>git config remote.origin.url
git@bitbucket.org:myuser/myrepo.git

要一次性使用作为解决方法,请将URL作为存储库值与IP(而不是主机名)一起传递:

>git push git@131.103.20.169:myuser/myrepo.git

或者,要更改本地存储库的配置,请更新配置值:

>git config remote.origin.url git@131.103.20.169:myuser/myrepo.git

使用硬编码IP不是最佳做法,因为bitbucket.org可能会更改其IP。

pn9klfpd

pn9klfpd4#

重新配置远程URL,它可能会正常工作

git remote set-url origin <insert existing-url>

这对我很有效。
供参考:https://docs.github.com/en/github/using-git/changing-a-remotes-url

4dbbbstv

4dbbbstv5#

我有类似的,并解决了以下解决方案.
在bitbucket URL示例中找到IP地址(bitbucket.org -〉100.64.1.26)转到主机文件(C:\Windows\System32\drivers\etc)然后添加IP地址和主机名并保存它bitbucket.org。

6qfn3psc

6qfn3psc6#

我也有同样的问题
在我的例子中,它与DNSMap有关(bitbcuket没有指向正确的IP),我用一个简单的技巧修复了它(我在查找www.example.com时覆盖了指向的IP地址bitbucket.org)
在ubuntu中打开并编辑/etc/hosts(如果是任何其他操作系统,请查看如何可以做同样的事情)

sudo vim /etc/hosts

并添加以下行(如果是GitHub或任何其他网站,请查找IP并进行相应的Map)

18.205.93.2 bitbucket.org
ma8fv8wu

ma8fv8wu7#

正如在这里的一些评论中提到的,当您遇到这类问题时,SSH配置文件的内容可能非常关键。您可以在Linux/Mac上的~/.ssh/config和Windows上的%USERPROFILE%\.ssh\config中找到配置文件(假设您使用OpenSSH作为客户端;如果使用PuTTY,它有自己的配置文件,这些配置文件基本上做相同的事情,您只需启动PuTTY单机版就可以看到它们--我不会单独介绍这些配置文件)
如果你在这个配置文件中有一个bitbucket.org条目,你需要确保它的所有指令都是正确的。例如,这个条目会导致一个DNS问题,就像你看到的那样,只有在使用SSH的情况下(ping会正常工作):

Host bitbucket.org
    HostName bitbocket.org

此主机下的任何其他不正确设置都可能导致其他问题;例如,过期的IdentityFile条目可能导致密钥登录失败,即使您的缺省密钥现在是正确的,不正确的端口条目将导致一般连接超时问题。
每当您遇到与ssh相关的连接或身份验证问题,而其他人没有遇到问题时,最有可能的原因就是您的ssh配置文件。

px9o7tmv

px9o7tmv8#

尝试重新启动您的互联网设备(调制解调器)。它为我工作。

相关问题