karuthan
karuthan

Reputation: 241

SourceTree multiple github account

I have two different github accounts and two repositories. When cloning the repositories I have used the correct username.

But When I want to commit I am not able to choose between the users. It picks up the global git user by default.

Is there a option to choose which credential to use at the point of the commit in SourceTree.

Upvotes: 7

Views: 6656

Answers (4)

GeorgeP
GeorgeP

Reputation: 857

A simple workaround if you have multiple github accounts configured in Sourcetree is:

  • Go to Tools -> Options -> Authentication
  • Click Set As Default on the account you want to use
  • Click Yes on the popup and now you can push your code
  • Repeat the above to go back to your previous default account

Sourcetree Multiple Github Accounts

Upvotes: 1

Anh Duy
Anh Duy

Reputation: 1183

https://fofxacademy.com/how-to-setup-git-on-your-pc-for-multiple-github-accounts/

Two Simple Steps to Configure Git for Multiple GitHub Accounts on Windows

  1. Enable Windows Credential Manager

    git config --list

    git config --global credential.helper wincred

  2. Enable WCM for Multiple Credentials

    git config --global credential.useHttpPath true

Upvotes: 0

Liviu
Liviu

Reputation: 1917

This worked for me on macOS (... only)

Go to Repository > Repository Settings > Remotes and edit the repository path by adding the user name (like https://<user name>@github.com, by exemple https://[email protected]/landron/Problems.gitinstead of just https://github.com/landron/Problems.git). Then, at the first push (tentative), SourceTree will ask for password (and store it to Keychain if you're on macOS). I found the idea on the Atlassian support site.

Windows update I did not succeed in doing the same because I did not convince SourceTree to make/use two accounts in Credentials Manager: git:https://<user1>@github.com and git:https://<user2>@github.com (they can be created manually by "Add a generic credential" in Control Panel\User Accounts\Credential Manager).

Identification update @Simeon Visser's answer matters (at least) for github statistics (contributions) because github identifies the user by email address (see "The email address used for the commits is associated with your GitHub account." here).

Upvotes: 6

Simeon Visser
Simeon Visser

Reputation: 122346

Go to Repository > Repository Settings > Advanced and untick the box "Use global user settings".

You can then configure a different username and email address there. This changes the details used for the commit. You still need to make sure that git has the ability to push to the repository (you can edit the configuration file of that repository to do that).

Upvotes: 0

Related Questions