在 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.
我无法让多个 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.