使用Xcode 4.6将SSH推送到GIT存储库

时间:2013-05-21 10:23:40

标签: xcode git ssh

我正在使用Xcode 4.6来开发我的项目,而我正在使用本地存储库功能。但是,我希望能够将我的存储库推送到远程ssh服务器。

我尝试了以下但是没有用: 我去了组织者然后到我的存储库,然后我添加了一个新的遥控器,其中包含以下说明: - 姓名:只是一个名字所以我已经把我的项目名称 - 位置:我已经放了一个ssh路径:user @ domain:path_to_my_.git_folder

然后我输入了我的ssh密码,但是没有确认按钮。

完成所有这些后,我返回开发窗口并转到File-> Source Control-> Push但是它说没有找到遥控器。

所以我想知道我该怎么做才能让它发挥作用。

谢谢。

3 个答案:

答案 0 :(得分:4)

我找到了github和bitbucket上repo的最佳解决方案是创建一个没有密码的SSH密钥对。

$ cd .ssh
$ ssh-keygen -t rsa -b 2048 -f github_id_rsa
$ vi config

然后添加以下内容:

Host github
    HostName github.com
    User git
    IdentityFile ~/.ssh/github_id_rsa

然后将回购称为:

ssh://github/trojanfoe/myrepo
      ^^^^^^
(note that's the name of the "Host" from the config file, not github.com)

这在Xcode中运行良好,但是在 pull 期间我看到回购旁边的“绿灯”,但在推送期间回购旁边的“红灯” (这可能是Xcode 5.1测试版中的一个错误),但它没有任何投诉而且不需要密码,如果你使用Jenkins进行发布版本,这是很好的。

偏好设置下的存储库> 帐户也无法使用ssh别名进行连接,但奇怪的是,它们在执行源代码管理操作时运行正常:

enter image description here

答案 1 :(得分:0)

你的地址应该是这样的“ ssh://git@git.urlOrLocal.com:2223/ios-app.git 您不需要确认按钮。也尝试不在那里输入密码。当你试图推动时,你会被要求输入它。

答案 2 :(得分:0)

我使用ssh-agent解决了这个问题,所以:

eval `ssh-agent -c` [start the ssh-agent]
ssh-add ~/.ssh/id_dsa [enter your passphrase when you are prompted for it]
ssh-add -l [lists out what keys are loaded in the agent]