我有两个GitHub帐户。第一个是主要的,第二个是一些测试(我在git中是新的)。在我的C:\Users\<Username>\.gitconfig
文件中,我有与主GitHub帐户类似的用户名和电子邮件。现在我已经创建了本地存储库,并使用类似于我的第二个帐户的用户名和电子邮件更改了其.git\config
文件。但是当我推送时,它会尝试以主帐户的用户身份推送,并且我有这个错误:
Permission to <2nd username>/test.git denied to <1st username>.
我认为只有电子邮件地址才是git和GitHub绑定的方式,.git\config
将覆盖该存储库的C:\Users\<Username>\.gitconfig
。
但似乎我错了......
UPD:
我记得在第一次推送到GitHub时,git打开了一个窗口,我需要输入GitHub的登录名和密码。我输入了主帐户登录和密码。在我尝试使用新电子邮件推送之后,我已经预料到这个窗口会再次打开...
答案 0 :(得分:1)
Git本身并不关心您在处理推送时提交时使用的名称和/或电子邮件地址。
它关心的是它是否被允许推送。
你问题的最后一段是重要的一点。您在使用github进行身份验证时告诉git使用您的第一个帐户,现在您在没有第一个帐户访问权限的情况下尝试推送到您的第二个帐户。
同样,你在提交时告诉git使用的内容在这一点上完全无关紧要。
要切换到第二个帐户查找并打开&#34; Windows凭据管理器&#34;,找到您的github帐户设置并将其删除,然后尝试重新启动。 Git应该再次询问您的登录详情。
或者,让第一个用户推送访问第二个用户存储库。