我在这台机器上有两个用户。 user1
链接到我的个人GitHub,user2链接到我的工作GitHub。
使用此设置用户不起作用:
git config user.name "User Name"
git config user.email "UserEmail@Host"
如果我检查哪个用户名,用户电子邮件会报告user1,这就是我想要的。但是当我按下它时remote: Permission to user1/repo.git denied to user2
。
我在这里死了。我必须有一个简单的解决办法,我才会失踪。
我记得在设置时使用SSH for user2。我认为这可能与此有关。我很高兴完全删除user2。
我找到了this issue,看起来一样,但对它的修复并不适用于我。
答案 0 :(得分:1)
user.name
仅用于撰写提交消息,与身份验证无关,您应该为网络身份验证配置credential.username
。
您可以参考gitcredentials了解详情。
答案 1 :(得分:0)
使用SSH连接到GitHub时,user.name
和user.email
的值与身份验证无关。这些是Git在本地存储库中创建提交时使用的值。推/拉与此分开。
当您通过SSH连接到GitHub时,您用于验证的密钥是它如何决定您是哪个GitHub用户。如果要以user2身份验证,请确保您的Git客户端设置具有user2的SSH密钥,而不是与user1帐户关联的(在GitHub上)。