Git продолжает упоминать мое старое имя пользователя, даже если я не могу найти его

remote: Permission to MYUSERNAME/project.git denied to OLD-USER-NAME

У меня есть 2 пользователя GitHub. Один для личного использования и один для работы. MYUSERNAME будет моим личным для этого примера, а OLD-USER-NAME - работой. Я давно не использовал OLD-USER-NAME, но при попытке нажать на github https я получаю вышеуказанную ошибку. Я решил проблему, нажав прямо на https://[email protected]...

Я пытаюсь понять, почему мой OLD-USER-NAME был даже упомянут и как git "знает об этом".

Вещи, которые я пробовал:

  • ssh-add -lThe agent has no identities.
  • Я не смог найти папку .ssh.
  • У меня нет ключей ssh ​​для обеих учетных записей github.
  • 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)
  • OLD-USER-NAME GitHub → Настройки → История безопасности. Я вижу мой ip с зеленой точкой рядом с ним. Может быть, это что-то с этим связано?

Ответ 1

В дополнение ко всему, что упоминалось в вопросе и предложениям @gturri в комментариях, следующим шагом является проверка того, что git или os кэшируют ваши учетные данные.

Проверьте keyring на вашем OSX/Linux/cygwin, а также проверьте, установлен ли git config [--global] credential.helper.

Ответ 2

вы должны проверить свой пульт:

git remote --verbose

Если он говорит

origin  [email protected]:OLD-USER-NAME/project.git (fetch)
origin  [email protected]:OLD-USER-NAME/project.git (push)

то вы можете исправить это, сделав

git remote set-url origin [email protected]:MYUSERNAME/project.git

Ответ 3

У меня была такая же проблема, как и у OP, и я не уверен, что он сообщил об этом, но проблема с ключом OSX была моей проблемой. После удаления, git push подскажет мне мое имя пользователя и пароль.

Ответ 4

Итак, я запустил env GIT_TRACE_CURL=true git clone https://github.com/user/private-repo-path и обнаружил, что он отправляет старое имя пользователя.

Затем я попробовал все варианты здесь. Наконец, после исследования я понял, что проблема в том, что старый пользователь и пароль были сохранены в файле .netrc на моем Mac.