将分支推送到远程服务器失败

时间:2014-07-21 05:10:02

标签: macos git ssh atlassian-sourcetree

我有一个在远程服务器上使用Git的项目。我为Mac安装了SourceTree来管理它。我还在根目录中有一个带私有的.ssh文件夹,我保存所有项目,公钥在服务器中。

我能够成功克隆项目,甚至提交+推回它没有问题。然后我在我的本地仓库中停止了一个分支,添加了一个新文件并尝试提交+推送它。它已提交,但推送失败,出现以下错误消息。

Pushing to git@gitserver:gitbtest

ssh: Could not resolve hostname gitserver: nodename nor servname provided, or not known

fatal: Could not read from remote repository.

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

我不确定为什么会这样。有没有办法在SourceTree for Mac中设置SSH密钥?我似乎无法找到任何选择。

任何解决此问题的帮助都会很棒。

谢谢!

1 个答案:

答案 0 :(得分:3)

git@gitserver:gitbtest之类的网址只有在拥有ssh配置文件才能解析名称gitserver时才能生效:

$HOME/.ssh/config

Host gitserver
   Hostname xxx.xxx.xxx.xxx # IP or full name for gitserver
   User git
   IdentityFile ~/.ssh/id_rsa

实际上,使用这样的文件,您甚至不必指定用户:

git remote set-url origin gitserver:gitbtest

(您可以看到“git public key for more repositories”中使用的~/.ssh/config文件的示例。)