通过创建第二个ssh密钥并将config
文件添加到~/.ssh
目录,我已设置第二个git标识用于我的公司帐户,如{{3}所述}:
我还设置了本地存储库的新用户名和电子邮件:
$(path to repo directory) git config user.name "<Company account user name>"
$(path to repo directory) git config user.email "<Company account user email>"
正如博客文章中的一条评论中所建议的那样。
我已经在Github(公司帐户)上创建了一个本地存储库。我已经将GitHub上的(公共)回购添加为本地回购的远程(原产地)。
我可以从遥控器拉(使用命令行和SourceTree),但是当我尝试推送时,我收到此错误:
ERROR: Permission to <company user name>/Test.git denied to <personal user name>.
fatal: Could not read from remote repository.
也就是说,git正在尝试使用我现有的个人帐户,而不是新的工作帐户。
如何使用正确的帐户凭据进行git推送?
答案 0 :(得分:1)
我认为这可能是整个osx keychain / keychain helper thingy。
以下是我解决它的方法:
1)删除本地仓库(&#34;从头开始&#34;)。
2)再次从原点克隆(GitHub)。
3)检查repo是否配置为使用新帐户的电子邮件地址(确实如此)。
4)再次检查.ssh / config文件中的主机,确保每个主机都设置了正确的密钥(它们是)。
5)绝望之下,将新的rsa
密钥分配给所述.ssh/config
文件中的两个帐户/主机。仍然无法推送,仍然可以通过旧帐户的电子邮件地址解决(某些地方正在缓存某些内容......),因此无法进行身份验证。
6)启动KeyChain Access.app
,搜索&#34; git&#34;,&#34; GitHub&#34;并删除所有&#34;互联网密码&#34;条目。 &lt; - 这就是罢工
删除所有内容后,我不得不在提示时重新输入两个帐户的凭据(SourceTree),但现在我有两个(工作)存储库,在同一台机器上并排使用两个不同的GitHub帐户。
希望这有助于某人。