Git一直提到我的旧用户名,即使我找不到它的踪迹

时间:2013-12-24 22:23:19

标签: git github

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如何“了解它”。

我尝试过的事情:

  1. ssh-add -l - > The agent has no identities.
  2. 我找不到任何.ssh文件夹。
  3. 我的两个github帐户上都没有任何ssh密钥
  4. git config --global --editgit config --edit显示MYUSERNAME
  5. git remote --verbose给了我:origin https://github.com/MYUSERNAME/project.git (fetch) origin https://github.com/MYUSERNAME/project.git (push)
  6. OLD-USER-NAME GitHub - >设置 - >安全历史我可以看到我的IP旁边有一个绿点。也许它与它有关?

4 个答案:

答案 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文件中保存了旧用户名和密码。