适用于任何操作系统
这对我有帮助,所以我把它放在这里,以防万一。
为两个帐户添加 rsa 密钥后,在 .ssh 目录中为两个帐户添加一个配置文件 (.ssh/config)
# First account
Host github.com-<FIRST_ACCOUNT_USERNAME_HERE>
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_user1
# Second account
Host github.com-<SECOND_ACCOUNT_USERNAME_HERE>
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_user2
确保您使用正确的用户名和 RSA 文件。接下来,您可以在存储库根目录上打开终端/git bash 并检查您将从哪个帐户推送
git config user.email
假设这会返回第一个用户的电子邮件,并且您想从第二个用户推送。更改本地的user.name 和user.email:
git config user.name "SECOND_USER"
git config user.email "SECOND_USER@example.com"
(这不会更改全局配置,您可以将第一个用户设置为全局用户)。完成后,您可以通过git config user.email 进行确认,它应该会返回第二个用户的电子邮件。您已经准备好与第二个用户一起推送到 GitHub。其余的都是旧的git add、git commit 和git push。
要从第一个用户推送,请再次更改本地 user.name 并按照相同的步骤操作。
希望对你有帮助:)
如果上述步骤仍然不适合您,请检查您是否已在 GitHub 门户中上传 RSA 密钥。 Refer to GitHub documentation:
然后,清除 ssh 缓存的密钥 Reference
ssh-add -D
然后添加 2 个 ssh 密钥
ssh-add ~/.ssh/id_rsa_user1
ssh-add ~/.ssh/id_rsa_user2
然后在终端输入:
ssh -T git@github.com-<SECOND_ACCOUNT_USERNAME_HERE>
您应该会看到以下输出:
Hi <SECOND_USERNAME>! You've successfully authenticated, but GitHub does not provide shell access.
然后,将正确的远程分配给您的本地存储库。确保您在Host 旁边输入与您在.ssh/config 文件中提供的用户名相同的用户名。在以下情况下git@github.com-<SECOND_ACCOUNT_USERNAME_HERE>.
git remote rm origin
git remote add origin git@github.com-<SECOND_ACCOUNT_USERNAME_HERE>:/your_username/your_repository.git