152 votes

Comment réinitialiser les informations d'identification stockées dans 'git credential-osxkeychain' ?

J'ai suivi les instructions de GitHub pour configurer mon compte, et je peux cloner, mais je ne peux pas pousser à distance.

Lorsque je fais un "git push", j'obtiens l'erreur 403. L'URL est correcte. J'ai essayé un "git credential-osxkeychain get" pour voir ce qu'il donnait, et cela imprime les mauvaises informations d'identification.

Je crois que ce qui s'est passé, c'est que la première fois qu'on m'a demandé les identifiants, j'ai cru que c'était une autre application qui les demandait, et j'ai mis les mauvais identifiants.

J'ai juste besoin de le réinitialiser pour qu'il utilise le bon élément du trousseau pour mon compte GitHub.

J'ai essayé :

git credential-osxkeychain erase
git credential-osxkeychain set

Le programme ne donne jamais d'instructions. Il dit "mauvaise entrée" si je ne fais pas ce qu'il faut. J'ai essayé de mettre " password=password "mais lorsque je fais un "get", j'obtiens toujours les anciens.

Je n'arrive pas à savoir où ils sont stockés, car ils ne sont pas dans .gitconfigure. De plus, il n'y a pas d'éléments récents du trousseau qui pourraient être en cause. (J'ai plusieurs comptes GitHub dans mon trousseau et il n'utilise aucun d'entre eux).

220voto

maz Points 1766

Depuis le terminal : (Vous devez saisir les trois lignes suivantes)

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

REMARQUE : après avoir saisi "protocol=https" ci-dessus, vous devez appuyer deux fois sur RETURN (chaque '⏎' équivaut à un 'appuyer sur entrée/retour').

94voto

benzado Points 36367

Je ne suis pas sûr de savoir comment effacer en ligne de commande, mais il est assez facile de le faire via l'application Keychain Access. Il suffit d'aller dans Applications -> Utilitaires -> Accès au trousseau, puis d'entrer "github.com". Vous pouvez soit supprimer l'élément invalide, soit mettre à jour le mot de passe à partir de l'application.

35voto

invinciblemuffi Points 321

Essayez ceci dans votre ligne de commande.

git config --local credential.helper ""

Cela fonctionne à chaque fois que j'ai plusieurs comptes GitHub dans le trousseau OSX.

34voto

nirvana Points 3601

La solution s'est avérée être la suivante :

La commande git credential-osxkeychain utilisait le premier Entrée du compte GitHub dans mon trousseau. Ce compte n'était pas celui qui avait accès aux projets en question.

J'ai résolu le problème en touchant le compte dans Keychain Access pour que sa date change (je pense que j'ai juste changé le commentaire) et maintenant qu'il est devenu le compte GitHub le plus récent, il est devenu le premier retourné à credential-osxkeychain, et donc tout a fonctionné.

Une meilleure prise en charge des comptes GitHub multiples serait appréciable, mais il est probable que la plupart des gens n'ont qu'un seul compte principal et ne rencontrent pas ce problème.

10voto

MacFreek Points 391

Git-credential-osxkeychain stocke les mots de passe dans le trousseau Apple, comme indiqué ci-dessus.

Par défaut, gitcredentials ne prend en compte que le nom de domaine. Si vous souhaitez que Git prenne en compte le chemin complet (par exemple, si vous avez plusieurs comptes GitHub), définissez l'attribut useHttpPath à la variable true tel que décrit à l'adresse suivante http://git-scm.com/docs/gitcredentials.html . Notez que si vous modifiez ce paramètre, vos informations d'identification vous seront redemandées pour chaque URL.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X