在 1 台机器上使用多个帐户 GitHub

Using GitHub with Multiple Accounts on the 1 Machine

我无法让多个 GitHub 帐户在 1 台机器 (Windows 11) 上工作。 这是场景。 我的工作有一个 Github 帐户。我们称它为 jonatwork。 我有一个个人 Github 帐户。我们称它为 jonathome。

我已经为 jonathome 设置了 ssh,id_rsa 作为我的 ssh 密钥。

这些是我为 jonatwork 创建第二个 ssh 密钥等所采取的步骤。

-1- 我创建了一个名为 id_rsa_jonwork
的新 ssh 密钥 -2- 我使用 GitHub 站点将该密钥添加到该 GitHub 帐户 (jonatwork) 上的 ssh 密钥。 (基本上复制了 public 键,将其转储到文本框中,命名并单击添加键)。
-3- 我在 ~/.ssh 中创建了一个名为 config 的文件,其内容为:

#jonwork account
Host jonwork
    HostName github.com
    AddKeysToAgent yes
    User git
    IdentityFile ~/.ssh/id_rsa_jonwork

#jonhome account
Host jonhome
    HostName github.com
    AddKeysToAgent yes
    User git
    IdentityFile ~/.ssh/id_rsa

有了这个,我使用 GitHub 站点在 jonatwork GitHub 帐户上创建了一个新的回购协议。然后我克隆了那个 repo,以 jonwork: 作为后缀。

我使用 bash 将名称和电子邮件添加到该存储库。

当我开始第一次 push 时,系统提示我输入 jonatwork ssh 密钥的密码。这是个好兆头。

但是当我查看 Github 界面时,该提交的用户被列为 jonathome。

这是错误的用户。因此,该回购有 2 个用户贡献。 jonatwork 进行了第一次提交(在界面中创建时),jonathome(错误的用户)进行了第二次提交(通过 bash 推送)。

任何人都可以看到我错过了什么来实现这个目标吗?

But when I looked at the Github interface, the User for that commit was listed as jonathome.

这与 SSH 身份验证无关。

您可以在任何推送之前在本地检查用户,使用 git log --pretty=" %C(reset)%ad %C(Cyan)%an: %C(reset)%s",查看用于您的提交的作者。

git log --pretty=" %C(reset)%ad %C(Cyan)%an: %C(reset)%s"

推送后 GitHub 上显示的就是那个作者。


作为 OP onefootswill mentions in :

Problem was between the chair and the keyboard.
I had not restarted the bash shell after setting the local user of the repo. So, was continuing to use the global user.