强制git以本地配置用户身份推送
我有两个我正在管理的GitHub帐户,比如说强制git以本地配置用户身份推送,git,Git,我有两个我正在管理的GitHub帐户,比如说accountX和accountY在一开始,我只使用了一个,所以我有一个带有用户名和电子邮件(accountX)的全局配置。现在我想用第二个。我创建了一个回购协议,我使用git config在本地为该回购协议配置用户名和电子邮件 我进行了一次提交,git log在提交下显示了一个正确的用户名和电子邮件(本地配置的,所以是第二个帐户)。然后我添加了一个回购地址(在第二个帐户上创建),我想git push。不幸的是,我得到的信息是,accountX没有此r
accountX
和accountY
在一开始,我只使用了一个,所以我有一个带有用户名和电子邮件(accountX)的全局配置。现在我想用第二个。我创建了一个回购协议,我使用git config
在本地为该回购协议配置用户名和电子邮件
我进行了一次提交,git log
在提交下显示了一个正确的用户名和电子邮件(本地配置的,所以是第二个帐户)。然后我添加了一个回购地址(在第二个帐户上创建),我想git push
。不幸的是,我得到的信息是,accountX
没有此repo的权限(而且它不应该),但为什么它不使用我在本地配置的权限呢?这是因为为accountX
存储了SSH密钥吗?所以我想通过ssh推送,它使用一种在历史上为accountX
生成的密钥
你们看到我的错误了吗 使用
git config user.xxx
命令仅用于设置作者和提交者名称,而不用于身份验证
为了使用正确的帐户,您需要使用第二个私钥记录第二个SSH URL
这是通过~/.ssh/config
文件完成的
git remote add origin2 second
git push second master
Host second
Hostname yourGitServer.com
User git
IdentityFile c:/path/to/your/second/private/key
在前面提到的~/.ssh/config
文件中定义了“second
”
git remote add origin2 second
git push second master
Host second
Hostname yourGitServer.com
User git
IdentityFile c:/path/to/your/second/private/key
您为第二个GitHub帐户设置了SSH密钥吗?我添加了第二个SSH密钥,因此我有
id\u rsa
和id\u rsa\u accountY
。我已经将第二个公钥添加到我的accountY
GitHub帐户中,但是当我推送它时,仍然会说,accountX
的repoXYZ权限被拒绝,请确保您的URL使用的是SSH配置文件的主机条目,它引用了正确的标识文件(或者,您的第二个SSH私钥)