web-dev-qa-db-fra.com

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 parviens pas à pousser à distance.

Lorsque je fais un "git push", je reçois l'erreur 403. Il a l'URL correcte. J'ai essayé un "git credential-osxkeychain get" pour voir ce qu'il donnait, et cela affiche les mauvais identifiants.

Je crois que ce qui s’est passé est la première fois qu’il demande les lettres de créance, j’ai pensé que c’était une autre demande, et il a mis les mauvaises.

Je dois juste le réinitialiser pour qu'il utilise l'élément de trousseau correct pour mon compte GitHub.

J'ai essayé:

git credential-osxkeychain erase
git credential-osxkeychain set

Le programme ne donne jamais aucune invite. Set dira "mauvaise entrée" si je ne fais pas la bonne chose. J'ai essayé de mettre "password=password ", etc., mais quand je fais un" get ", je récupère toujours les anciens.

Je ne peux pas savoir où ils sont stockés, car ils ne sont pas dans .gitconfigure. En outre, aucun élément de porte-clés récent ne pourrait l’être. (J'ai plusieurs comptes GitHub dans mon trousseau et il n'en utilise aucun.)

81
nirvana

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

La commande git credential-osxkeychain utilisait l'entrée de compte première GitHub dans mon trousseau. Celui-ci 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 afin que sa date change (je pense que je viens de changer le commentaire) et maintenant qu'il est devenu le plus récent compte GitHub, il est devenu le premier à être retourné à credential-osxkeychain et ainsi tout a fonctionné. .

Nice serait une meilleure forme de support pour plusieurs comptes GitHub, mais il est probable que la plupart des gens n’ont qu’un seul compte principal et ne rencontrent pas ce problème.

25
nirvana

Du terminal:

 $ git credential-osxkeychain erase
 Host=github.com
 protocol=https
 <press return>

REMARQUE: après avoir entré "protocole = https" ci-dessus, vous devez appuyer sur ~~ RETURN ~~ DEUX FOIS.

87
maz

Je ne sais pas comment effacer via la 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 entrez "github.com". Vous pouvez supprimer l'élément non valide ou mettre à jour le mot de passe à l'aide de l'application.

61
benzado

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

Par défaut, gitcredentials ne considère 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 la variable useHttpPath sur true, comme décrit à la section http: // git-scm .com/docs/gitcredentials.html . Notez que modifier ce paramètre demandera à nouveau vos informations d'identification pour chaque URL.

10
MacFreek

Sur Mac, utilisez la commande git credential-osxkeychain erase.

OU supprimer manuellement du trousseau de Applications Utilitaires Accès au trousseau. Ensuite, retirez le trousseau github.com. Ensuite, utilisez Push; il demandera l'accès au trousseau; puis nier.

Il vous demandera le nouveau nom d'utilisateur et mot de passe, ajoutez-le puis poussez un fichier pour cela.

Après git Push J'ai trouvé cette erreur. Ensuite, j'utilise la majuscule:

remote: Autorisation à user1/file.git refusée à user2 (utilisateur précédemment existant). fatal: impossible d'accéder à ' https://github.com/xxxxxxxxxxxx/ ': l'URL demandée a renvoyé l'erreur: 403

5
Amit kumar

Essayez de courir /Applications/Utilities/Keychain Access.

4
echristopherson
4
gorjanz