how to log out of one Github account and use another account?

Solution 1:

If your using OSX, open terminal and run this:

git credential-osxkeychain erase
host=github.com
protocol=https

to erase the keychain entry. So next time it will prompt you to login.

To view the current credentials cached use the command git credential-osxkeychain get followed by pressing enter twice.

if you press enter only once you will invoke the command but it will apear to hang, if you press enter a second time you will be prompted by a dialog box to confirm access to your keychain and then the information will be returned in terminal


If you would like to prevent this issue in the future you can configure the git helper tool for osx-keychain to store your login credentials associated with the entire path of the repository rather than just the domain which is the default.

In terminal enter the command

git config --global --edit

This will open a configuration file. If you haven't already, you may want to set your default editor so the file opens in your preferred application.. For example, to set Sublime Text as your default editor: git config --global core.editor "subl -n -w"

With the config file opened, search for useHttpPath (or define it if it doesn't exist). And set it's value to true. It should look like this:

[credential]
  helper = osxkeychain
  useHttpPath = true

This will instruct git (as well as github) that any credentials used to login should only be associated with the full repository path that was queried, not for the entire domain (in the case of github) all repositories on Github.com.. So now you can be logged into your repository, and your boyfriend can be logged into his repository and there will be no conflicts between your logins.

Solution 2:

Thanks David Condrey.

For anyone having the same issue on Windows 10, the following worked for me. Only slightly different to the Apple Mac answer.

Using the git bash shell / command line, start an editor:

git config --global --edit

I had only a [user] section in this file. Your's may be different.

Add the following credential section and single line entry to the end of the file:

[credential]
  useHttpPath = true

Note it's credential, not credentials.

You don't need the helper = osxkeychain line, which is for Apple Macs.

Save and Exit the editor.

Now when you 'git push', a login dialogue window appears (but may be in the background). The Octocat icon appears in the taskbar.

.

PS: Later, I found this had added a line to the global config and that the following command can be used instead:

git config --global  credential.usehttppath true