【问题标题】:Cloning a git repo on a Media Temple server在 Media Temple 服务器上克隆 git 存储库
【发布时间】:2011-01-26 14:24:09
【问题描述】:

我有一个已经安装了 git 的 Media Temple 服务器。如何从我托管在 GitHub 上的存储库中克隆文件?

【问题讨论】:

    标签: git github mediatemple


    【解决方案1】:

    这可能类似于在 Media Temple 服务器上克隆 Unfundle 上托管的存储库(您拥有 comprehensive guide here) 的过程)

    Media Temple 部分涉及(假设您已经在本地机器上创建了 SSH 密钥对并将其添加到 GitHub):

    这类似于在本地计算机上设置密钥,只是 .ssh 文件夹的路径有点不同。
    它会根据您在 Media Temple 的托管计划而有所不同。我的是这样的:

    不是~/.ssh,而是/home/HOSTING_CODE/users/.home/.ssh,其中HOSTING_CODE是分配给您的托管计划的5位数字。

    执行“ssh-keygen -1 rsa”命令后,您就会知道路径是什么。它会在文件名提示中提及。

    注意:与本地注册机不同,远程服务器将要求您从根目录输入整个路径。

    SSH 进入您的 Media Temple 服务器,然后继续。

    以下命令将要求您输入文件名和密码。

    如果您打算拥有多个密钥对(您可能在某个时候会这样做),那么最好以不同的方式命名它们。

    因此,每次创建新密钥对时,请提供一个简短的描述性文件名。
    对于 unfuddle,我使用 SUBDOMAIN 和“unfuddle”,所以对我来说它是“myproject_unfuddle”。您将在一分钟内将其添加到 .ssh/config 文件中。

    此外,虽然您可以使用空密码,但您应该始终提供密码。

    $ ssh-keygen -t rsa
      Generating public/private rsa key pair.
    $ Enter file in which to save the key (/home/HOSTING_CODE/users/.home/.ssh/id_rsa):  
      [provide a filename] <- create a short descriptive filename  
      [ie - myproject_unfuddle]
    
    $ Enter passphrase (empty for no passphrase): [password] <- always use a password
    $ Enter same passphrase again: [password confirmation]
    
    $ Your identification has been saved in 
      /home/HOSTING_CODE/users/.home/.ssh/myproject_unfuddle.
    
    $ Your public key has been saved in 
      /home/HOSTING_CODE/users/.home/.ssh/myproject_unfuddle.pub.
      The key fingerprint is:
      46:1b:99:56:77:0b:38:1e:35:92:de:94:58:b4:f3:d4 user@machine
    

    以下内容会将公钥回显到屏幕上。您需要将其复制并粘贴到 unfuddle 中。

    $ cat /home/HOSTING_CODE/users/.home/.ssh/myproject_unfuddle.pub<
    ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAwIuZA6ca9I1E2c6j1lbqvzDpZD2XQ5dRGVjeby1SGX+6
    tyjA1zcN9mim9DXOWiX1wyUwnQdNR3qmzJwjlX1riLpXoEutZxRHsvWyeQFsrWM8B5rJk0U0HDEEH+/9
    u0SjGZZq0ERZE+L999ZzAYp7voxD7L7zFqp+odqNMpLln4A98JTBI50q5tVBQBbkh8wXHKPI0xLB1N9u7
    VCLB8zrR7/SC73/t3XicnhmaaPL8R+9GKyfRtjxAWyRGZiG+A9ZDXgQ9m6kNP2xS3AFi2jRvHfH2tnmy
    +KD80sn9hwqTIMANVr2FjVloBHmi+FIHeL9qFbdI/4DCJMHt/hEdAw== user@machine
    

    接下来,我们需要将此密钥添加到 ssh 配置文件中。如果您从未创建过配置文件,那么它可能还不存在。

    所以打开/创建配置文件:

    $ pico /home/HOSTING_CODE/users/.home/.ssh/config
    

    在里面添加新条目:

    $ IdentityFile /home/HOSTING_CODE/users/.home/.ssh/myproject_unfuddle
    

    当您添加其他密钥时,您需要将它们添加到配置文件中。该文件基本上告诉钥匙串在比较您生成的私钥和公钥时要查看哪些密钥。

    只需在其他条目的上方或下方添加新条目:

    $ IdentityFile /home/HOSTING_CODE/users/.home/.ssh/myproject_unfuddle
      IdentityFile /home/HOSTING_CODE/users/.home/.ssh/some_other_key_name
    

    然后点击CTRL-X退出,会提示你保存缓冲区(点击y)然后是文件名(默认为您使用 (config) 打开它的名称,然后点击 return)

    SSH 进入您的 Media Temple 服务器,然后继续。

    $ git clone gitRepoName@github.com:SUBDOMAIN/ABBREVIATION.git
    

    如果在 GitHub 上找到公钥,系统将提示您输入密码。

    【讨论】:

      猜你喜欢
      • 2018-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-14
      • 1970-01-01
      • 2020-09-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多