Мое прежнее имя пользователя все еще используется

Я изменил свой пользователь и адрес электронной почты для git с помощью этих команд

git config --global user.name "maa"
git config user.email "[email protected]"

Я подтвердил изменение с помощью

git config --global user.name
git config user.email

и он показывает правильные имена. Однако при нажатии старого имени пользователя используется:

git push -u origin master
remote: Permission to maa/brain.git denied to old_user_name.
fatal: unable to access 'https://github.com/maa/brain.git/': The requested URL returned error: 403

Ответ 1

Настройки user.name и user.email используются только для передачи метаданных.

Как я вижу, вы используете транспорт https, поэтому имя пользователя как-то хранится. На мой взгляд, есть два варианта:

  • Вы используете %HOME%/.netrc (%HOME%/_netrc или %HOMEDRIVE%%HOMEPATH%\_netrc в Windows)
  • Ваше имя пользователя включено в push-url (например, https://[email protected]/...), здесь вам нужно обновить .git/config, например. путем выпуска git remote set-url https://<newusername>@github.com/<newusername>/yourRepo
  • Вы используете вспомогательный помощник git. Здесь зависит, какой из них вы используете (и, возможно, какую ОС вы используете, см. В Windows, Mac OS X).

Как правило, вы можете попробовать следующее в CLI (на основе 2), где вы заменяете $credentialhelper своими учетными данными -helper (вы можете найти его с помощью git config credential.helper, для Mac OS X, скорее всего, osxkeychain в Windows это может быть wincred или manager):

$ git credential-$credentialhelper erase
host=github.com
protocol=https
[Press Return]