【问题标题】:Git: How to connect SourceTree to my Git-Enabled-Web-Hosting via SSH?Git:如何通过 SSH 将 SourceTree 连接到我的 Git-Enabled-Web-Hosting?
【发布时间】:2013-07-19 19:02:38
【问题描述】:

我在 Windows 上使用 SourceTree,并且我已经成功地将我的存储库推送到 BitBucket

我也想这样做,但不是推送到 BitBucket,我想推送到我的虚拟主机帐户(即“1&1 共享主机”)。

我的 1and1 帐户 provides SSH access 并且已经安装了 git。我尝试使用PuTTY 连接到 SSH,它可以工作。当我输入“git”时,我可以看到所有可用的 git 命令。

我需要知道:

  1. 如何将 SourceTree 连接到 SSH? 我有域、用户名和密码,但是在 SourceTree 或 Pageant 中看不到这些字段,这需要特殊的文件格式” .ppk"。

  2. 连接到 SSH 后,如何在我的 1&1 帐户上远程创建存储库?

  3. 一旦存储库存在于我的主机上,如何将其添加为远程存储库以便我可以推送到它?


注意:这个问题是关于 SourceTree-Windows 软件的,它本身就是大多数 git 功能的图形用户界面——请不要用命令行指令回复。

非常感谢!

【问题讨论】:

    标签: git ssh bitbucket git-push atlassian-sourcetree


    【解决方案1】:
    1. SourceTree 文档上有一个article
    2. 如您所知,存储库不是远程创建的。您必须登录到您的服务器并使用您的服务器 git 命令在那里创建存储库
    3. 在 SourceTree 中选择您的存储库。在主菜单存储库>存储库设置中。在那里您可以添加远程存储库。默认的通常命名为'origin'

    【讨论】:

    • 谢谢,但您的回答确实没有帮助。 #1 这篇文章没有说如何连接到 SSH,它说使用 ssh-keygen 但我不需要生成密钥,因为我已经从我的网络托管服务提供商那里获得了凭据:问题是在哪里放它们? 请参阅comment left on the article you linked。关于 #2 我不知道无法远程创建存储库:您说我需要登录到我的服务器(如何?),SourceTree 不能登录到我的服务器吗?
    • 你必须更多地了解 Git。 SourceTree 只是它的一个客户端。你说你可以在服务器上输入git——这意味着 git 安装在那里。现在只需将其设置为服务器 (git-scm.com/book/en/Git-on-the-Server-Setting-Up-the-Server),然后使用 git 使用 git init --bare 命令创建您的存储库。这是您所有 git 问题的非常好的来源:git-scm.com/doc
    【解决方案2】:

    您必须在“Source / URL”字段中使用的语法如下:

    ssh://<user>@<server_name>/<git_repository_path>
    

    例如:

    ssh://peter@git.mydomain.com/opt/git/project.git
    

    (如果远程服务器上尚不存在存储库,则可以使用以下命令创建一个空的存储库:)

    $ mkdir -p /opt/git/project.git
    $ cd /opt/git/project.git
    $ git init --bare
    

    【讨论】:

    • 这是通过某种 nginx 代理托管的,或者为什么不是 scp 冒号格式,例如ssh://peter@mydomain.com:/opt/git/project.git ?这就是我目前面临的问题,如果我必须使用前者,那么当没有专用服务器时如何。这只是 ssh。域后的正斜杠将如何映射,以及其他方式?
    • 嗯,这就是它在文档中定义的方式:[git-scm.com/book/tr/v2/Git-on-the-Server-The-Protocols]。您也可以使用其他 SSH 语法:pete@git.mydomain.com/project.git
    • 我明白了,那是有道理的。另外,我注意到两个正斜杠起作用了,这是我能够让它工作的第一种方式。例如blamb@git.mydomain.com//opt/git/project.git 因此,围绕这样一个事实,即无论在最后一个 tld 正斜杠之后发生什么,都是服务器从根路径看到的,即使对于标准 ssh 用户也是如此。那是我还没有掌握的部分。没想到它会像那样从根目录服务。
    猜你喜欢
    • 2021-11-02
    • 2021-10-28
    • 1970-01-01
    • 1970-01-01
    • 2022-09-29
    • 2021-04-09
    • 2021-05-02
    • 1970-01-01
    • 2021-08-10
    相关资源
    最近更新 更多