在同一台机器上有 2 个不同的 git 用户; Git 当我推送并认为我是从我的其他用户那里推送时,将无法识别我的全局用户

Had 2 different git users on same machine; Git will not recognize my global user when I push and thinks I'm pushing from my other user

我在这台机器上有两个用户。 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.

我快死在这里了。必须有一个简单的修复方法,我只是想念它。

我记得在设置时为 user2 使用了 SSH。我认为这可能与此有关。我很高兴完全删除 user2。

我找到了 this issue,它看起来一样,但对它的修复对我不起作用。

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

当您通过 SSH 连接到 GitHub 时,您用来验证身份的密钥决定了您是哪个 GitHub 用户。如果您想以用户 2 的身份进行身份验证,请确保您的 Git 客户端设置具有用户 2 的 SSH 密钥,而不是与用户 1 的帐户相关联(在 GitHub 上)的密钥。

user.name只是用来编写你的提交消息,与认证无关,你应该配置credential.username进行网络认证。

详情可参考gitcredentials