我使用的是Mac OSX,git版本1.8.5.2 (Apple Git-48)
我在git仓库中有一个git子模块,据我所知,它只使用一个git用户和rsa密钥进行了克隆,拉取,提交,合并和推送。我有许多其他用户和密钥对,但在〜/ .gitconfig文件中没有指定其他用户。
当这个子模块有https://github
的远程...等。这将允许我提交正确的用户名和电子邮件,但推送时,会告诉我:
remote: Permission to some_username/project.git denied to user2.
fatal: unable to access 'https://github.com/some_username/project.git/': The requested URL returned error: 403
但是,当我删除https://...
遥控器并改为使用git@github.com:some_username/project.git
遥控器时,它可以正常工作。
这是git或github的错误吗?有没有其他方法来解决它?这两个用户都在其github帐户上关联了相关的rsa密钥。
答案 0 :(得分:3)
这是git或github的错误吗?
否:使用https网址,您需要在网址中添加登录名,以便知道要求的凭据:
cd /path/to /your/submodule
git remote set-url origin https://yourLogin@github.com/yourLogin/yourRepo
ssh网址会自动使用您的密钥($HOME/.ssh/id_rsa.pub
),如果published to your account(如果您的帐户是GitHub回购的所有者或协作者)