【问题标题】:Pushing over SSH to a GIT repository with Xcode 4.6使用 Xcode 4.6 通过 SSH 推送到 GIT 存储库
【发布时间】:2013-05-16 02:00:06
【问题描述】:

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

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

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

完成所有这些后,我返回开发窗口并转到文件->源代码控制->推送,但它说没有找到遥控器。

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

谢谢。

【问题讨论】:

  • 带有“xcode”标签并且实际上关于Xcode的罕见问题之一。

标签: xcode git ssh


【解决方案1】:

我在 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

然后将 repo 称为:

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 测试版中的一个错误),但它可以毫无怨言地工作,并且不需要密码,如果您使用 Jenkins 进行发布构建,那就太好了。

Preferences > Accounts 下的存储库也无法使用 ssh 别名连接,但奇怪的是它们在执行源代码控制操作时运行良好:

【讨论】:

    【解决方案2】:

    您的地址应如下所示" ssh://git@git.urlOrLocal.com:2223/ios-app.git 您不需要确认按钮。也尽量不要把密码放在那里。当您尝试推送时,系统会要求您输入。

    【讨论】:

    • 这就是我所做的:ssh://git@myIP:2223/MYABSOLUTEPATH,我也尝试使用端口 22,它们都给了我一个无限搜索远程循环。但是 ssh 服务器在线
    • 那你的地址有问题。尝试 ping 它或 \ 并检查您的 git 配置中的用户名等'
    • 这是一个糟糕的解决方案。使用没有密码的 ssh 密钥对并设置 .ssh/config 会好很多。
    • @trojanfoe:很好的尝试,我没有在我的控制台上找到“设置”按钮... ^^ 请告诉我们应该设置 WHAT 如何
    【解决方案3】:

    我使用 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]

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-21
      • 2019-06-09
      • 1970-01-01
      • 2011-05-12
      • 1970-01-01
      • 1970-01-01
      • 2021-03-05
      • 2013-03-12
      相关资源
      最近更新 更多