5

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

我尝试了以下方法,但没有成功:我去了组织者,然后去了我的存储库,然后我添加了一个带有以下说明的新遥控器: - 名称:只是一个名称,所以我已经输入了我的项目名称 - 位置:我放了一个 ssh 路径:user@domain:path_to_my_.git_folder

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

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

所以我想知道我应该怎么做才能让它工作。

谢谢你。

4

3 回答 3

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期间看到 repo 旁边的“绿灯” ,但在push期间看到 repo 旁边的“红灯” (这可能是 Xcode 5.1 beta 中的错误),但它可以正常工作并且不需要密码,如果您使用 Jenkins 进行发布构建,这非常棒。

Preferences > Accounts下的 Repositories也无法使用 ssh 别名连接,但奇怪的是它们在执行 Source Control 操作时运行良好:

在此处输入图像描述

于 2014-02-08T23:41:42.543 回答
0

你的地址应该是这样的“ ssh://git@git.urlOrLocal.com:2223/ios-app.git 你不需要确认按钮。也尽量不要把密码放在那里。当你尝试推送时,系统会要求你输入密码。

于 2013-05-21T10:29:49.717 回答
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]

于 2014-02-13T10:20:56.617 回答