我已经有了一个github帐户,使用gitbash -clone / pull / push时没有问题。 现在,我现在创建了另一个github帐户,与朋友一起工作,并意识到由于帐户冲突或其他任何问题,我无法推送。 所以我创建了一个新的ssh密钥并经历了一些线程,但仍然没有使它工作,但我能够在两个不同的git帐户之间进行身份验证,但现在由于访问权限我无法推送或克隆。
我不记得我所做的所有步骤,因为我正在经历不同的线程并尝试不同的事情。顺便说一句,我使用的是Windows。
第一
我转到/.ssh
并将之前的id_rsa
和id_rsa.pub
更改为id_rsa_acc1
和id_rsa_acc2
第二
我使用了另一个密钥
ssh-keygen -t rsa -C "email@email.com"
我以前的ssh也使用相同的电子邮件
第三
我转到/.ssh
并将我的新id_rsa
和id_rsa.pub
更改为id_rsa_acc2
和id_rsa_acc2
第四
在.ssh
文件夹中,我创建了一个名为config
的文件并添加了
# acc1 GitHub
Host acc1 .github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_acc1
# acc2 GitHub
Host acc2.github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_acc2
第五
我使用我的acc2登录github.com并将/.ssh/id_rsa_acc2.pub
中的ssh密钥添加到github设置> SSH密钥
第六
eval `ssh-agent -s`
ssh-add
第七
ssh-add ~/.ssh/id_rsa_acc1
ssh-add ~/.ssh/id_rsa_acc2
第八
ssh -T git@acc1.github.com
Hi acc1! You've successfully authenticated, but GitHub does not provide shell access.
ssh -T git@acc2.github.com
Hi acc2! You've successfully authenticated, but GitHub does not provide shell access.
我再也找不到其中一条错误信息,但是当我试图进入acc2时,它说了一些关于因为acc1或类似内容而拒绝访问的内容。 然后我尝试使用ssh url克隆,甚至无法从github克隆这两个帐户中的任何一个。
现在,当我尝试克隆/推/拉时,我只收到这样的错误消息 权限被拒绝(publickey)。 致命的:无法从远程存储库读取。
Please make sure you have the correct access rights
and the repository exists.
有人可以帮我一把吗?
答案 0 :(得分:0)
问题是因为对于公共存储库,您需要稍微改变您的工作流程。您的朋友需要分叉您的存储库,使用此存储库,他们可以进行任何他们想要的更改。
之后,当您准备好结合您的工作时,您的朋友将需要创建一个“拉取请求”,您可以在其中查看代码并决定将更改接受到您自己的存储库中。这是用于公共合作的Github模型。
或者,您可以进入存储库的“设置”,并将您的朋友添加为协作者。然后,他应该能够直接将更改提交到您的存储库。