适用于任何操作系统
这个方法对我有帮助,所以我把它放在这里,以备不时之需。
一旦你完成了为两个账户添加 RSA 密钥,请为这两个账户在你的 .ssh
目录下添加一个配置文件 (.ssh/config
)。
Host github.com-<FIRST_ACCOUNT_USERNAME_HERE>
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_user1
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密钥。
请参考GitHub文档:
然后,清除您的ssh缓存密钥
参考资料。
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.
然后,将正确的远程库分配给本地仓库。确保在.ssh/config
文件中给出的Host
旁边放置与您提供的用户名相同的用户名。在以下情况下: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
@
。但是,如果我们可以在凭证管理器中更改,使其包含不同的username
和password
,那该怎么办呢?现在用户名是PersonalToken
。 - WesternGun