104
votes

Im trying to push to github with sourcetree but get the following error:

git -c diff.mnemonicprefix=false -c core.quotepath=false push -v --tags origin live_version:live_version remote: Invalid username or password. fatal: Authentication failed for 'https://github.com/myname/myrepo/' Pushing to https://github.com/myname/myrepo

Completed with errors, see above.

enter image description here However when I go to

tools > authentication > my github account

And click edit > refresh oauth token enter image description here A page opens and I get:

Authentication Successful

SourceTree has been successfully authenticated. You may now close this page.

It always worked but it suddenly stopped, i do not have two factor authentication. I tried deleting the account and adding it again to no avail. How can I get the connection working again so that I can push my project to github.

Sourcetree version 2.1.8.0

17
It is 2019, version 4, still can't just normally switch accounts in Sourcetree to work with another GitHub accountZaporozhchenko Oleksandr

17 Answers

230
votes

I found the answer here, it is a known bug for version 2.1.8+

The following steps fixed it for me:

Tools > Options > Git > Update Embedded Git

Also pushing with the command line works.

EDIT

Also adding @Latisha's answer:

1. Do the above.
2. Close Sourcetree
3. Delete AppData\Local\Atlassian\SourceTree\passwd 
4. Restart SourceTree
60
votes

I struggled with this a lot, what solved it for me on my Mac is:

  • Open finder, click Cmd + Shift + g
  • enter ~/Library/
  • Go to Application Support/SourceTree folder
  • delete userName@STAuth-bitbucket.org
  • Open KeyChain Access
  • search for sourctree
  • delete the 'login' item
  • clone your source from bitbucket
  • KeyChain will ask for you bitbucket pass
9
votes

I had the same problem for Sourcetree 2.10, but with the above solution not working.

Reverting to version 2.0 solved it.

Sourcetree download archive: (https://www.sourcetreeapp.com/download-archives)

8
votes

I faced this issue when i updated Embedded Git. Solved it by removing passwd file. you can find it here. then restart source tree.

AppData\Local\Atlassian\SourceTree\passwd

6
votes

For OSX following by steps below

Go to: Preferences -> Advance -> Choose the account in table you want to remove -> Click to remove enter image description here

3
votes

I just solved this problem by using an access token. I use macbook, all answers above didn't work for me. Go to your github account, click your profile image on right top corner, then click:

Settings -> Developer settings -> Personal access tokens -> Generate new token

Paste this token into sourcetree popup window, required password area, instead of typing your account password. Github uses two step verification, so you need to use a token rather than account password. Good luck! Let me know if this works for you.

2
votes

I had the same problem , I Relogged In to the account solved this error for me.

2
votes
  1. Delete your saved account in tools\option dialog.
  2. Push or pull again, and SourceTree will ask you to input your login name and password.
2
votes

If you do have two-factor authentication enabled in GitHub you might have gotten here as well. In that case follow AlonR's answer (for Mac - worked for me) or Sven's answer (for Windows - untested) and then follow the instructions here to make it work.

  • Currently the GitHub token page is here.
2
votes

This worked for me on Mac

  1. Goto Preferences -> Git
  2. Use System Git
0
votes

I had the same problem and I fixed it by installing the latest version of git for windows

0
votes

For SourceTree 2.7.6 for macOS using embedded git I followed all the suggested answers but still had the same problem.

The solution for me was to turn off two factor authentication.

Obviously not ideal, but sometimes you just need to get your work done.

0
votes

On Windows try:

  1. Tools> Options> Authentication - delete from Git Saved Password your problem repo data (ex [email protected])
  2. Select tab with problem repo.
  3. Open terminal and make some git command (ex git pull origin) and you will be asked login and password. Input correct login and password. Login and password will be updated and all works again.
0
votes

I typed the wrong username (email address) when pushing and what worked for me was:

Open KeyChain Access search for SourcTree delete the 'login' item

Then go to Sourcetree > Preferences > Advanced and delete the default usernames that includes the wrong email address.

0
votes

In my case, this happened on one of my two computers after I switched to OAuth on GitHub. The error message was referring to git-credential-manager.exe, which is located in AppData\Local\Atlassian\SourceTree\git_extras. I noticed that the version on my working machine is from 2018, whereas the one on the non-working machine is from 2017. Both run the newest version of SourceTree (3.0.17). This is what I did to get it to work:

  1. Uninstall SourceTree
  2. Since this did not remove AppData\Local\Atlassian\SourceTree, I deleted that entire directory manually
  3. Updated git to the newest version (neat: >git update-git-for-windows) - probably not necessary but a good idea anyway
  4. Re-installed SourceTree
  5. Added existing local repos
  6. Fetch - and finally, after entering username and password (twice, if memory serves), I get asked for the OAuth token. Yipee!

Surprisingly, AppData\Local\Atlassian\SourceTree\git_extras was created, but is now empty...

0
votes

Sourcetree saves username in the below file. Change your username in this file and restart your sourcetree App

C:\Users\{USER}\AppData\Local\Atlassian\SourceTree\userhosts

Or Use your username in Clone URL. This will make sourcetree to request password for the new User

https://{user}@bitbucket.org
0
votes

My setup

  • Windows 10
  • Sourcetree 3.4.5

What worked for me was a combination of some of the existing answers

  • Use system Git in Tools > Preferences.
  • Remove existing account credentials in Tools > Preferences.
  • Restart Sourcetree.
  • Do a complete credential check from command-line git with git push/pull, enter full credential once, and then go back to Sourcetree to retry.