每个repo使用不同的SSH凭据将TortoiseGit连接到github



我在github上有几个repo,还有两个不同的帐户。我的帐户是下面讨论的两个repo的创建者(用户名1创建了repo1,用户名2创建了repo2(。

如何配置tortoisegit以设置连接到每个github repo时要使用的凭据(腻子密钥(?

在Tortoisegit>设置>Git>远程,我已将repo1配置为:

Remote: origin
URL: git@github.com:username1/MyRepo1.git
Push URL: (blank)
Putty Key: path/to/account1.ppk

并且repo1配置为:

Remote: origin
URL: https://github.com/username2/myRepo2.git
Push URL: (blank)
Putty Key: path/to/account2.ppk

然而,当我试图推动第一次回购时,我得到了错误:

git.exe push --progress "origin" master:master
ERROR: Permission to username1/MyRepo1.git denied to username2. <-- why is username2 showing up here?!?
fatal: Could not read from remote repository.

为什么它试图使用用户名2(repo1上没有配置(进行连接?在哪里可以配置连接时使用的用户名?

我尝试更改Tortoisegit>中的设置;设置>Git,设置Name: username1Email: user1@mydomain.com,但没有任何区别(在尝试推送时收到相同的错误消息(。

我试着遵循TortoiseGit公认答案的解释——多个GitHub存储库,每个存储库都有不同的密钥对,然而,我不知道该为其中任何一个做什么。。。

  1. 使用PuTTY会话,如中所述

嗯。。。这两个链接上的说明都过于笼统,毫无用处。没有具体的例子可以借鉴。

  1. 使用OpenSSH

它基本上说";更改为"ssh"。。。但这只会产生新的问题。如何配置OpenSSH以建立连接?或者告诉它哪些凭证用于哪个回购?再一次没有具体的例子。

  1. 使用https

如果我将repo1的连接更改为https://github.com/username1/MyRepo1.git,则会得到错误fatal: unable to access 'https://github.com/username1/MyRepo1.git/': The requested URL returned error: 403

所以我把它改为https://username1@github.com/username1/MyRepo1.git,然后我收到一个弹出窗口,要求我登录github。作为最后的手段,我这样做了,而且(似乎(有效,但是,我想使用ssh密钥,而不是基于登录的身份验证。

所以。。。回到问题:如何配置TortoiseGit以使用不同的SSH凭据连接到不同的repo

而且,对于奖励积分。。。我可以为TortoiseGit配置一组默认凭据以供使用吗?然后,当需要不同的东西时,我可以逐个回购这些凭据吗?如果是,如何?(我问是因为这似乎是无意中发生的事情,所以我想知道是否有办法故意将其作为一种功能!(

感谢您的阅读,并提前感谢您的帮助!

如何配置TortoiseGit以使用不同的SSH凭据连接到不同的repo?

首先,对两个存储库都使用SSH URLS。

由于repo2是用https://github.com/username2/myRepo2.git配置的,所以SSH密钥被简单地忽略
这就是乌龟提到username2的原因

如果您想要使用关联的SSH密钥,则需要git@github.com:username2/myRepo2.git

相关内容

  • 没有找到相关文章

最新更新