在您跳至将此问题标记为重复问题之前,请注意:
这另一个问题似乎相关,但我相信它不完全相同,唯一的答案张贴是完全不够的。我尝试了“解决方案”,但无法使它工作:Two github accounts to push to same repo
另一个问题有一个类似的标题(@derek-brown误导版的结果),但这个问题实际上与我的完全不同:Pushing a local repo to multiple github accounts
这是一个场景:
- 使用VS代码、Git Bash和CMD的Windows 10机器。
- 一个位于C:\code\myproject.git的单个存储库
- Github帐户#1,用户名为github-user 1(电子邮件:github-user1@gmail.com
- Github帐户#2,用户名为github-user 2(电子邮件:github-user2@gmail.com
- Github存储库#1位于github-user 1下,https://github.com/github-user1/myproject
- Github存储库#2位于github-user 2下,https://github.com/github-user2/myproject
本地存储库具有以下远程:
$ git remote -v
myremote1 git@github.com:github-user1/myproject.git (fetch)
myremote1 git@github.com:github-user1/myproject.git (push)
myremote2 git@github.com:github-user2/myproject.git (fetch)
myremote2 git@github.com:github-user2/myproject.git (push)
我希望能够以最简单的方式将此回购协议推/拉到两个远程。
到目前为止,我已经完成了以下工作:
- 已为两个身份创建ssh密钥:
- 用户名github-user1@gmail.com
- 用户名和github-user2@gmail.com
- 已将标识添加到ssh代理,其中包含:
$ eval "$(ssh-agent -s)"
$ ssh-add ~/.ssh/id_ed25519_github_user1
$ ssh-add ~/.ssh/id_ed25519_github_user1
1.将公钥添加到相应github帐户的SSH Keys部分,如下所述:https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account
1.在我的~.ssh文件夹中添加了一个包含以下内容的配置文件:
#github-user1 account
Host github-user1
Hostname github.com
User git
IdentityFile ~/.ssh/id_ed25519_github_user1
#github-user2 account
Host github-user2
Hostname github.com
User git
IdentityFile ~/.ssh/id_ed25519_github_user2
当我尝试推到任何一个遥控器时,我得到如下错误:
$ git push myremote1 main
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
2条答案
按热度按时间agyaoht71#
好吧,我把遥控器从:
收件人:
请注意,我已经将“@”后面的主机名更改为我在~.ssh文件夹的配置文件中输入的主机名。
yquaqz182#
要使用的实际命令有:
您不需要
git@
零件,因为它已经在~/.ssh/config
档案中指定为User git
。