remote: Permission to MYUSERNAME/project.git denied to OLD-USER-NAME
我有2个GitHub用户。一个供个人使用,一个供工作使用。对于这个例子,MYUSERNAME将是我的个人用户,而OLD-USER-NAME将是我的个人用户。 我刚刚停止使用OLD-USER-NAME但是在尝试推送到github https时我遇到了上述错误。我直接推到https://MYUSERNAME@github.com ...
解决了这个问题我正在试图找出为什么我的OLD-USER-NAME被提及以及git如何“了解它”。
我尝试过的事情:
ssh-add -l
- > The agent has no identities.
git config --global --edit
或git config --edit
显示MYUSERNAME git remote --verbose
给了我:origin https://github.com/MYUSERNAME/project.git (fetch) origin https://github.com/MYUSERNAME/project.git (push)
答案 0 :(得分:8)
除了问题中提到的所有内容和评论中的@gturri建议外,下一步是检查git或os是否缓存您的凭据。
检查OSX / Linux / cygwin上的密钥环,并检查是否已设置git config [--global] credential.helper
。
答案 1 :(得分:6)
你应该检查你的遥控器:
git remote --verbose
如果说
origin git@github.com:OLD-USER-NAME/project.git (fetch)
origin git@github.com:OLD-USER-NAME/project.git (push)
然后你可以解决它
git remote set-url origin git@github.com:MYUSERNAME/project.git
答案 2 :(得分:4)
我遇到与OP相同的问题,我不确定他是否报告过,但OSX钥匙串条目是我的问题。删除后,git push会提示我输入我的用户名和密码。
答案 3 :(得分:0)
因此,我运行了env GIT_TRACE_CURL=true git clone https://github.com/user/private-repo-path
,发现它正在发送旧的用户名。
然后我在这里尝试了所有不同的选项。最终,经过研究,我发现问题出在Mac上的.netrc文件中保存了旧用户名和密码。