我对这些东西很新 - 我有一个专业的github公司帐户,最近几个月才成立。最近,我一直在研究一些rails教程。我创建了一个教程存储库并在我的个人帐户下推送没有任何问题。
但是,由于某些原因,在按照我正在尝试的第二个项目的步骤后,我收到此错误消息:
ERROR: Permission to <username>/<projectname>.git denied to <businessaccount>.
fatal: The remote end hung up unexpectedly
为什么要尝试将此商家帐户用于此回购?我如何让它取代我的个人帐户信息?
谢谢!
答案 0 :(得分:2)
git用于远程服务器身份验证的帐户信息可以作为远程URL的一部分提及。
<USERNAME>@<REMOTE_HOSTNAME>:<REMOTE_REPO_URL>
如果您不提供任何用户名,git会自动开始使用您当前登录的用户名。
不幸的是,Github不允许为多个帐户使用同一组SSH密钥。因此,您需要为您的个人github帐户生成另一组SSH密钥(即密钥对)。
为您的个人帐户生成新的ssh密钥对
ssh-keygen -t rsa -f ~/.ssh/id_rsa.personal -C "Keypair for Personal Github account"
将以下行添加到~/.ssh/config
文件中,以便在通过personal.github.com
引用主机时SSH使用新的密钥对:
Host personal.github.com
User git
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa.personal
对于您计划使用的每个仓库,使用个人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
您的工作github帐户和密钥保持不变,不应受到影响。