我正在尝试使用Mac OS上的终端将我提交的更改推送到Github但是 它一直说我的旧github用户拒绝访问存储库
允许myuser / test1.git拒绝“OldUser”。 致命:无法访问“https://github.com/”NewUser“/test1.git/”:请求的网址返回错误:403
我发现了一些类似的问题,但没有一个答案对我有用:
首先,我从我的mac中删除了所有SSH密钥并创建了一个新密钥,然后我与我的github帐户同步。
其次,我已经使用
将git的全局配置设置为我的新用户名和电子邮件git config --global user.name AND user.email
当我在我的项目目录中的git本地配置文件中更改用户和电子邮件时(至少认为这样可行),我很惊讶在推送时看到同样的错误,我的旧用户名再次弹出... (我真的以为本地配置会覆盖任何旧的全局值)我只是不知道在哪里看... 没有定义git环境变量,并且重新创建了SSH密钥。 似乎最后一个选择是重新安装git,这将是一个非常难看的出路..
哦!顺便说一句,当我试图使用专用的MacOS应用程序推送到github时它工作得很好!我并没有感到惊讶,因为所有报告此问题的用户都说应用程序对他们很有用..只是想到我提到它了!
所以,如果有人得到答案(或者至少是预感),那对我有很大的帮助。
答案 0 :(得分:3)
当我尝试使用专用的MacOS应用程序推送到github时,它工作得很好!
Mac的gitHub可能使用https网址,使用您的GitHub登录名/密码(GitHub for Mac正在缓存)。
检查与远程来源相关联的网址:
git remote -v
如果是https网址(如您的错误消息提示"无法访问' https://github.com/"NewUser"/test1.git/
'"),那么任何数量的SSH摆弄都不会改变该错误。
也许,对于http网址,Credential Caching on Mac OS X has still the old credentials。
答案 1 :(得分:0)
我在Windows上遇到了完全相同的错误,显然这是一个Git问题。感谢ayan4m1在github论坛(https://github.com/Microsoft/Git-Credential-Manager-for-Windows/issues/152)我终于在Windows中使用notepad在管理模式下修复了这个问题,从C:\ Program Files \ Git \ mingw64 \ etc.gitconfig文件中删除了credential.helper = manager行。没有其他工作。
显然,因为我在我的IDE中使用Git bash处于非提升模式,所以我的全局命令都无法覆盖全局文件。希望这有助于为这个问题的其他人节省时间。