我已经关注了不同的帖子,对此非常感到沮丧。
我想在我的机器上安装2个git hub帐户,但是当我推送到我的存储库时,我的第一个帐户总是被使用。
以下是我所做的:
创建了一个新的ssh密钥并添加到git hub。 创建了一个配置文件:
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa
Host github-panthro
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_panthro
然后:
git init
git add *
git commit -m "first commit"
git remote add origin git@github-panthro:panthro/myrepo.git
git push origin master
但它一直在推动我原来的git hub用户的变化。我哪里错了?
答案 0 :(得分:2)
提交你pushnto github将出现由用户的电子邮件与您设置的电子邮件匹配的用户创作
git config --global user.email
但如果省略--global参数,也可以按每个回购配置本地电子邮件。如您所见,此电子邮件已链接到您的工作副本,因此您无法在此处收到两封电子邮件。相反,你可以做的是在你的本地机器上有两个工作副本,每个副本都有相应的用户电子邮件。显然你需要确保它们以某种方式保持同步。
第二,如果您使用相同的本地用户推送到github,并且两个工作副本都使用ssh远程地址,那么您使用相同的键进行推送,即使您的提交确实出现了别名您之前设置的两封电子邮件。
如果您想要使用不同的帐户,那么您可以使用https远程地址(这将使您在推送前进行身份验证),或者您必须在您的计算机中设置两个用户,每个用户都有自己的ssh密钥,以及不要在拥有用户B电子邮件的仓库中推送用户A.
编辑:我刚试过我的一个项目并且它有效(github无法识别我的虚假电子邮件,因此它显示了user.name)