If under Windows and user Git for Windows and the manager
for managing the credentials (aka Git-Credential-Manager-for-Windows
Link) the problem is that there is no easy way to switch amongst users when pushing to GitHub over https
using OAuth
tokens.
The reason is that the token is stored as:
git:https://github.com
Personal Access Token
OAuth_Token
Variations of the URL in Internet Address
don't work, for example:
git:https://[email protected]
git:https://github.com/username
The solution: namespaces. This is found in the details for the configuration of the Git-Credential-Manager-for-Windows
:
Quoting from it:
namespace
Sets the namespace for stored credentials.
By default the GCM uses the 'git' namespace for all stored credentials, setting this configuration value allows for control of the namespace used globally, or per host.
git config --global credential.namespace name
Now, store your credential in the Windows Credential Manager as:
git.username:https://github.com
Personal Access Token
OAuth_Token
Notice that we have changed: git
-> git.username
(where you change username
to your actual username or for the sake of it, to whatever you may want as unique identifier)
Now, inside the repository where you want to use the specific entry, execute:
git config credential.namespace git.username
(Again ... replace username
with your desired value)
Your .git/config
will now contain:
[credential]
namespace = git.username
Et voilá! The right credential will be pulled from the Windows Credential Store.
This, of course, doesn't change which user/e-mail is pushing. For that you have to configure the usual user.name
and user.email