Incorrect username to push to Git Repo
Asked by mikeleung:

Hi, I have incorrectly typed my username while i was doing a pushing to a Git Repo.

I am now staying at the popup 'Password Required' For user xxx on host github.com.

I cannot provide the correct credential as the username is incorrect. But I can find nowhere to change this saved username.

I am stuck... may be it is a numb question as I am new to SourceTree ( and quite new to Git also ). Can anyone give me any hints?


Answers:
author: mikeleung
body: After several attempts over time, I managed to solve it accidentally. Not sure if it is after some updates or settings.

I would suggest anyone who has the similar problem to take a look for preference -\> Network and see if the usernames there would give you some help.

comments: author: Ivan Brewis
body: Had this issue.

What worked for me was Tools-\>Options-\>Authentication. SourceTree seems to use this and not the username specified on the actual remore...

This comment lead me to the answer.


author: Mike Taylor
body: Old thread but this worked for me too. I kept thinking it was a problem with the password because of the fact that SourceTree also won't accept the passphrase for my Putty default_rsa.ppk private key. I verified I'm entering the right one by using PuttyGen to load it and finally gave up and removed the passphrase with PuttyGen. But the problem with the repo login was not the password it was that it was using the wrong username (my email address). So fixed that as noted here under Tools-\>Options-\>Authentication. Didn't work when I tried to change it under Repository Settings. It will never remember the username I put there. Like it just ignores it and even opening the dialog again just shows a blank username again.


author: Paul George
body: I could authenticate in SourceTree \> Tools \> Options \> Authentication

When pushing, I got a greyed-out and incorrect username prompting for password.

Turns out this username was stored in this file:  

%localappdata%\\Atlassian\\SourceTree\\userhosts  

i.e. C:\\Users\\Paul\\AppData\\Local\\Atlassian\\SourceTree\\userhosts

**Just delete or edit that file.**

<br />

Contained something like:  

"github.com

\[incorrect-email-address\]"  

<br />

<br />

<br />

comments: author: rswamy
body: This worked for me! Thanks!


author: ????
body: very very Thanks!!!!! you're my god... angel!!


author: Nathan Flier
body: Thank you so much! :)


author: gwidaz
body: Registered just to up-vote your comment. Finally this solved that nonsense


author: Spoon Seah
body: Wow you saved my life! I have 2 accounts which I push to 2 different GIT services and this lil userhosts file was causing me so much pain. Thank you!


author: preetam jadakar
body: Currently I couldn't find Preferences-\>Network at least for MAC version.

Resolved issue by reaching at Preferences -\> Advanced.


author: Ivan Brewis
body: What worked for me was Tools-\>Options-\>Authentication. SourceTree seems to use this and not the username specified on the actual remore...


author: armchairdeity
body: So for me, on Mac... I kept getting the wrong login name... here are some key places to look:

* \~/Library/ApplicationSupport/SourceTree - you'll see your passwords in there stored as one file peer username/domain combo.
* KeyChain Access - your logins are stored there under labels that look like this:  
  * *git.foo.com Access Key for {username}*

The weird thing was no matter how many times I removed and re-added them it kept asking for just the password and never the username. I even tried adding my username @ my host/domain name... no good.

Finally I figured out that I had added my username as "myId@host.dom" under Preferences... \> ADVANCED \> Default Usernames and we had since switched to a new login format that drops the @host.dom part off, so I forced myself to log in with the wrong username. Once I removed that entry everything was just fine, I was prompted for my username next time I tried to connect and it was all good.

![Screen Shot 2018-07-04 at 5.42.57 PM.png](https://community.atlassian.com/t5/image/serverpage/image-id/26127i51B7D92CFB106F65/image-dimensions/596x461?v=v2 "Screen Shot 2018-07-04 at 5.42.57 PM.png")

comments: author: Tarak Bhavsar
body: For me on MacOS BigSur 11.4 and Sourcetree, tried above but didn't fixed the multiple users and sourceTree was not picking up the correct user

Alternatively tried updating my .gitconfig file and worked

\`\`\`

$ vi \~/.gitconfig

========

....

\[mergetool "sourcetree"\]

cmd = /Applications/Sourcetree.app/Contents/Resources/opendiff-w.sh \\"$LOCAL\\" \\"$REMOTE\\" -ancestor \\"$BASE\\" -merge \\"$MERGED\\"

trustExitCode = true

\[user\]

name = \<user\> \<--- Changed the user

email = \<user_email\> \<--- Changed the email

....

=========

\`\`\`


author: kAli70
body: I had the same problem and I solved it by going to the prefrences-\>Network and removed the accoount which I do not know its password.....I assume you entered this account accedientally

It worked for me


author: Chris Fabri
body: I had this same problem - here is what I did; from the sourceTree mac menu, select:

SourceTree --\>Network

There in the dialog was the incorrect login name to gitHub, which I then changed. Coms to the repo then began to work.


author: Colin Goudie
body: Go to the folder where you git repo is checked out and edit .git/config

You will find the repository URL in there and it probably has your incorrect username set infront of it. Something like [username@github.com](mailto:username@github.com)

Change it there and push again

comments: author: mikeleung
body: Thanks Colin for your answer. No luck, my config file looks like this:

repositoryformatversion = 0

3 filemode = false

4 bare = false

5 logallrefupdates = true

6 ignorecase = true

7 \[remote "origin"\]

8 fetch = +refs/heads/\*:refs/remotes/origin/\*

9 url = <https://github.com/xxxxxx>

10 \[branch "master"\]

11 remote = origin

12 merge = refs/heads/master

13 \[branch "server-edition"\]

14 remote = origin

15 merge = refs/heads/server-edition

16 \[user\]  
Nothing looks like as mentioned...


author: Colin Goudie
body: Maybe check your global git config see if anything is in there. Not sure where sourcetree might store that username.

It's generally in your home dir. \~/.gitconfig


author: stevestreeting
body: Hmm, the username field should only be disabled if it's present in the URL. What happens if you submit the login box anyway? It should definitely prompt you again to supply a username if the login fails once.


author: mikeleung
body: Hi Steve. The username field is not disabled actually. I recall it appeared the first time I try to do the 'push'.

However I realized that I got a typo in username which makes it not working. But it seems there is no place for me correct / remove the saved username....


author: stevestreeting
body: Oh I see, in that case if you overtype the username and the login succeeds, it should have saved that username as the new default to use.

One way to guarantee fixing this is to be unambiguous in the URL you use for the remote. So for example instead of using <https://domain.com/my/repo>, if you use <https://username@domain.com/my/repo> instead then the username is guaranteed to be correct. You can change this by clicking 'Settings' in the repository window toolbar (top-right) and editing the remote URL.

If the user is not present in the URL, SourceTree uses a default which \*should\* be based on whatever the last successful login was. If after you overtype the username and login successfully it comes back with the previous default next time, that's a bug but I'm not sure how it can happen right now.


author: mikeleung
body: Hi Steve,

I tried to change it to <https://username>@domain....

It is using my specified 'username' right now.

However, the next time I come back. The default username remains unchanged... I may need to change the url manually everytime I push updates.

Seems a workaround at the moment though. Thanks


author: stevestreeting
body: Did you change it in the remote URL, under "Settings" in the repository window? This is permanent, rather than selecting 'Custom' in the Push dialog and changing the URL there, which is only temporary.