git pushes with wrong user from terminal

I'm using Windows 10 and I faced the same issue today. In my case my credentials for different user were saved by Windows Credential manager. Thus deleting/unsetting git credentials with below command, git config --global --unset credential.helper

didn't help. I had to manually delete the entry in Windows by following the below way,

Start --> Control Panel ---> User Accounts ---> Manager your credentials ---> Windows Credentials

Then search for an entry like, git:https://github.com and remove it. It works fine after that.


GitHub identifies you by the ssh key it sees, not by any setting from git.

Therefore, you need to ensure that your work account's ssh key is not in your keyring when you try to push from your personal account and vice versa.

Use ssh-add -l to determine which keys are in your keyring, and ssh-add -d <keyfile> to remove a key from your keyring, if it dosent work remove the 'unwanted' ssh key from ~/.ssh/config.

source

NB: GitHub will still identify your commit based on the email only.


it looks like my terminal does the commits with my username, but pushes them with the other one

Author and committer name and email (which are important for GitHub) are derived from:

git config user.name
git config user.email

However, as mentioned in git config and git commit-tree, those values can be overridden by environment variables:

GIT_AUTHOR_NAME
GIT_AUTHOR_EMAIL
GIT_COMMITTER_NAME
GIT_COMMITTER_EMAIL

So double-check those variables.

Things work back normally if I force the user in the .git/config of a repository but I don't think that's the good option.

But it should be a good solution.
When using an https url, I always specify the user in it to make sure the authentication is done with the right user.

http://[email protected]/USER/REPO.git

I just had this problem at work. The builtin git that ships with mac or comes when you install xcode caches git credentials in keychain. The fix for me was to:

start keychain access (start spotlight via cmd + space, type keychain, press enter)

Under keychains on the upper left, select "login" Under category on the left, select "passwords"

find the name "github" and delete it.

Tags:

Git

Ssh

Github