Si sous Windows et l'utilisateur Git pour Windows et manager
pour 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 https
utilisantOAuth
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 Address
ne 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 username
par la valeur souhaitée)
Votre .git/config
contiendra 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.name
etuser.email
git config --global user.name her_username
) avant de pousser