第二个帐户/回购推送问题

时间:2013-03-25 20:44:47

标签: git github

我对这些东西很新 - 我有一个专业的github公司帐户,最近几个月才成立。最近,我一直在研究一些rails教程。我创建了一个教程存储库并在我的个人帐户下推送没有任何问题。

但是,由于某些原因,在按照我正在尝试的第二个项目的步骤后,我收到此错误消息:

ERROR: Permission to <username>/<projectname>.git denied to <businessaccount>.
fatal: The remote end hung up unexpectedly

为什么要尝试将此商家帐户用于此回购?我如何让它取代我的个人帐户信息?

谢谢!

1 个答案:

答案 0 :(得分:2)

git用于远程服务器身份验证的帐户信息可以作为远程URL的一部分提及。

<USERNAME>@<REMOTE_HOSTNAME>:<REMOTE_REPO_URL>

如果您不提供任何用户名,git会自动开始使用您当前登录的用户名。

不幸的是,Github不允许为多个帐户使用同一组SSH密钥。因此,您需要为您的个人github帐户生成另一组SSH密钥(即密钥对)。

  1. 为您的个人帐户生成新的ssh密钥对

    ssh-keygen -t rsa -f ~/.ssh/id_rsa.personal -C "Keypair for Personal Github account"
    
  2. 将以下行添加到~/.ssh/config文件中,以便在通过personal.github.com引用主机时SSH使用新的密钥对:

    Host personal.github.com
    User git
    HostName github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa.personal
    
  3. 对于您计划使用的每个仓库,使用个人github帐户,请务必使用URL中的主机名personal.github.com而不是github.com。此外,git@用户名部分可以省略,因为我们已在~/.ssh/config中提到过。所以这些中的任何一个都应该可行。

    git clone personal.github.com:keecham/blacktie.git
    git clone git@personal.github.com:keecham/blacktie.git
    
  4. 您的工作github帐户和密钥保持不变,不应受到影响。