Git 无法解析拉取和克隆的主机名

Git Failing to Resolve Hostname for Pull and Clone

一位同事遇到了一个问题,他们无法在以前工作的存储库中执行 git pull,也无法 git clone 存储库。

对于这两种情况,他们都会收到以下错误:

Cloning into 'repository-name' ...
ssh: Could not resolve hostname bitbucket: Name or service not known.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists.

我们已确认他具有存储库访问权限并且 SSH 密钥配置正确(甚至生成了一个新密钥)。这个问题在 2 年没有问题后才开始出现。

有两个问题:

  1. 无法克隆存储库。
  2. 无法在现有的本地存储库克隆中拉取。

幸运的是,第一个问题通过重新启动计算机得到解决,尽管事先生成新的 SSH 密钥可能有所贡献。

第二个问题有点晦涩。在深入研究设置后,发现本地存储库中的 .git/config 配置错误。

[remote "origin"] 被错误地设置为:

[remote "origin"]
        url = username@bitbucket.org:company/repository.git
        fetch = +refs/heads/*:refs/remotes/origin/*

请注意 url 不正确。将配置更新为正确的值解决了本地存储库的问题。

[remote "origin"]
        url = git@bitbucket.org:company/repository.git
        fetch = +refs/heads/*:refs/remotes/origin/*

仍然不确定哪里出了问题,但幸运的是一切都恢复正常了。