在同一台机器上有2个不同的git用户;当我推动时,Git将无法识别我的全球用户,并认为我正在推动其他用户

时间:2017-07-06 02:28:25

标签: git github push git-push

我在这台机器上有两个用户。 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,看起来一样,但对它的修复并不适用于我。

2 个答案:

答案 0 :(得分:1)

user.name仅用于撰写提交消息,与身份验证无关,您应该为网络身份验证配置credential.username

您可以参考gitcredentials了解详情。

答案 1 :(得分:0)

使用SSH连接到GitHub时,user.nameuser.email的值与身份验证无关。这些是Git在本地存储库中创建提交时使用的值。推/拉与此分开。

当您通过SSH连接到GitHub时,您用于验证的密钥是它如何决定您是哪个GitHub用户。如果要以user2身份验证,请确保您的Git客户端设置具有user2的SSH密钥,而不是与user1帐户关联的(在GitHub上)。