Si sous Windows et l'utilisateur Git pour Windows et managerpour la gestion des informations d'identification (aka Git-Credential-Manager-for-Windows Link ), le problème est qu'il n'y a pas de moyen facile de basculer entre les utilisateurs lors du transfert vers GitHub en httpsutilisantOAuth jetons.
La raison en est que le jeton est stocké sous la forme:
- Adresse Internet:
git:https://github.com
- Nom d'utilisateur:
Personal Access Token
- Mot de passe:
OAuth_Token
Les variations de l'URL dans Internet Addressne fonctionnent pas, par exemple:
git:https://username@github.com
git:https://github.com/username
- ...
La solution: les espaces de noms . Cela se trouve dans les détails de la configuration du Git-Credential-Manager-for-Windows:
En citant:
espace de noms
Définit l'espace de noms pour les informations d'identification stockées.
Par défaut, le GCM utilise l'espace de noms 'git' pour toutes les informations d'identification stockées, la définition de cette valeur de configuration permet de contrôler l'espace de noms utilisé globalement ou par hôte.
git config --global credential.namespace name
Maintenant, stockez vos informations d'identification dans le Gestionnaire d'informations d'identification Windows comme:
- Adresse Internet:
git.username:https://github.com
- Nom d'utilisateur:
Personal Access Token
- Mot de passe:
OAuth_Token
Notez que nous avons changé: git-> git.username(où vous changezusername votre nom d'utilisateur réel ou pour le plaisir, en ce que vous voudrez peut-être comme identifiant unique)
Maintenant, dans le référentiel où vous souhaitez utiliser l'entrée spécifique, exécutez:
git config credential.namespace git.username
(Encore une fois ... remplacez-le usernamepar la valeur souhaitée)
Votre .git/configcontiendra maintenant:
[credential]
namespace = git.username
Et voilà! Les bonnes informations d'identification seront extraites du magasin d'informations d'identification Windows.
Ceci, bien sûr, ne change pas quel utilisateur / e-mail envoie. Pour cela , vous devez configurer l'habituel user.nameetuser.email
git config --global user.name her_username) avant de pousser