在我从仓库中将HTTPS切换到SSH之后,当我推送到原始主机时,我收到了此错误消息:
ssh: Could not resolve hostname git: 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添加到gitlab中。我该怎么办?
答案 0 :(得分:2)
好吧,在我的情况下,我的本地系统未连接到VPN,因此出现此错误。因此,这可能是上述答案之外的原因之一。
答案 1 :(得分:1)
我遇到了同样的错误。
我更改了[remote "origin"]
文件中的url
.git/config
值,现在一切正常。
以前:
https://git@github.com:userName/repo.git
OR
ssh://git@github.com:userName/repo.git
新
: git@github.com:userName/repo.git
答案 2 :(得分:0)
HTTPS URL,即使在防火墙或代理后面工作时,也可以轻松访问私有或公共存储库。这是推荐的方法。
另一方面,SSH URL使用安全的ssh协议来访问存储库。
回到您的问题,该错误可能是由于配置不当造成的。 git remote add
命令用于将一个已经尝试过的新远程添加到您的存储库。但是,从HTTPS切换到SSH网址意味着您的远程来源已经设置为http网址,并且您想要更改。
因此,首先检查您当前的远程来源是指什么网址:
$ git remote -v
如果引用的是HTTPS网址,则必须使用
$ git remote set-url origin mySSH_url
命令将其更改为SSH网址。
现在,尝试使用git remote -v
,它将显示为来源配置的SSH URL。
请确保在使用SSH url时,已在GitLab / GitHub帐户上同时生成了ssh密钥并将其添加到ssh-agent
。
Here是一篇很好的文章,介绍了如何更改遥控器的URL。
此外,您可以了解有关使用here的远程URL的更多信息。
答案 3 :(得分:0)
在我的commit
然后rebase
之后出现此错误,我通过在命令中使用--force
rebase
解决了这个问题:
git push --force -u origin <beanch>