1

I have changed my user and email for git with those commands

git config --global user.name "maa"
git config user.email "maa@gmail.com"

I confirmed the change with

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

and it shows the right names. However when I push the old user name is used:

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
MrTux
  • 32,350
  • 30
  • 109
  • 146
MAS
  • 4,503
  • 7
  • 32
  • 55

2 Answers2

7

The user.name and user.email settings are only used for commit meta data.

As I can see you are using https transport, so the username is stored somehow. To my mind there are two options:

  1. You are using %HOME%/.netrc (%HOME%/_netrc or %HOMEDRIVE%%HOMEPATH%\_netrc on Windows)
  2. Your username is included in the push-url (like https://username@github.com/...), here you need to update .git/config, e.g. by issuing git remote set-url https://<newusername>@github.com/<newusername>/yourRepo
  3. You are using a git credential helper. Here it depends which one you use (and maybe which OS you use, see for Windows, Mac OS X).

As a general rule you can try the following on the CLI (based on 2), where you replace $credentialhelper with your credential-helper (you can find it using git config credential.helper, for Mac OS X it is likely osxkeychain on Windows it might be wincred or manager):

$ git credential-$credentialhelper erase
host=github.com
protocol=https
[Press Return]
Community
  • 1
  • 1
MrTux
  • 32,350
  • 30
  • 109
  • 146
1

Locally:

git config credential.username 'new_username'

Globally:

git config --global credential.username  'new_username'
Mayuresh Srivastava
  • 1,332
  • 17
  • 24