web-dev-qa-db-fra.com

Supprimer les informations d'identification de Git

Je travaille avec plusieurs référentiels, mais dernièrement, je travaillais dans notre interne et tout était génial.

Aujourd'hui, je devais m'engager et pousser du code dans un autre, mais j'ai des problèmes.

$ git Push appharbor master
error: The requested URL returned error: 403 while accessing https://[email protected]/mitivo.git/info/refs?service=git-receive-pack
fatal: HTTP request failed

Il n'y a rien que je puisse faire, cela apporterait à nouveau la saisie du mot de passe.

Comment puis-je réinitialiser les informations d'identification sur mon système afin que Git me demande le mot de passe de ce référentiel?

J'ai essayé:

  • git config --global --unset core.askpass

pour supprimer le mot de passe

  • git config credential.helper 'cache --timeout=1'

afin d'éviter le cache des informations d'identification ...

Rien ne semble fonctionner. Quelqu'un a-t-il une meilleure idée?

359
balexandre

Le cache des identifiants Git exécute un processus démon qui met vos identifiants en mémoire cache et les distribue à la demande. Donc, tuer votre processus démon git-credential-cache-démon les jette à la poubelle et vous demande de nouveau votre mot de passe si vous continuez à l'utiliser comme option cache.helper.

Vous pouvez également désactiver l'utilisation du cache d'informations d'identification Git à l'aide de git config --global --unset credential.helper. Réinitialisez ensuite cette opération pour que les informations d'identification mises en cache restent disponibles pour d'autres référentiels (le cas échéant). Vous devrez peut-être aussi faire git config --system --unset credential.helper si cela a été défini dans le fichier de configuration du système (par exemple, Git pour Windows 2).

Sous Windows, il vaut peut-être mieux utiliser l'assistant manager (git config --global credential.helper manager). Cela stocke vos informations d'identification dans le magasin d'informations d'identification Windows qui dispose d'une interface du Panneau de configuration où vous pouvez supprimer ou modifier vos informations d'identification stockées. Avec ce magasin, vos informations sont sécurisées par votre identifiant Windows et peuvent persister pendant plusieurs sessions. L'assistant manager inclus dans Git pour Windows 2.x a remplacé l'ancien assistant wincred ajouté dans Git pour Windows 1.8.1.1. Un assistant similaire appelé winstore est également disponible en ligne et a été utilisé avec GitExtensions car il offre une interface davantage gérée par une interface graphique. L'assistant manager propose la même interface graphique que winstore.

Extrait de le manuel Windows détaillant le panneau de stockage des identifiants Windows:

Ouvrez des comptes d'utilisateurs en cliquant sur le bouton Démarrer Image du bouton Démarrer, sur Panneau de configuration, sur Comptes d'utilisateur et sécurité pour la famille (ou sur Comptes d'utilisateur, si vous êtes connecté à un domaine réseau), puis sur Comptes d'utilisateur. Dans le volet de gauche, cliquez sur Gérer vos informations d'identification.

435
patthoyts

Si ce problème survient sur un ordinateur Windows, procédez comme suit.

  • Aller à Credential Manager
  • Aller aux informations d'identification Windows 
  • Supprimer les entrées sous Informations d'identification génériques
  • Essayez de vous connecter à nouveau. Cette fois, il devrait vous demander le nom d'utilisateur et le mot de passe corrects.

 Go to Credential Manager

 Go to Windows Credentials and Delete the entries under Generic Credentials

347

Saisir à nouveau:

$ git config credential.helper store

Ensuite, vous serez invité à saisir à nouveau vos identifiants.

ATTENTION

L'utilisation de cet assistant stockera vos mots de passe non chiffrés sur le disque.

Source: https://git-scm.com/docs/git-credential-store

127
aaafly

J'ai été confronté au même problème que le PO. Il prenait mes anciennes informations d'identification Git stockées quelque part sur le système et je voulais utiliser Git avec mes nouvelles informations d'identification. J'ai donc lancé la commande.

$ git config --system --list

Cela montrait

credential.helper=manager

Chaque fois que j’ai exécuté git Push, mon ancien nom d’utilisateur a été repris, ce qui m’a été retardé et je souhaitais utiliser un nouveau compte GitHub pour transmettre les modifications. J'ai découvert par la suite que mes anciennes informations d'identification de compte GitHub étaient stockées sous Panneau de configurationComptes d'utilisateursGestionnaire des informations d'identificationGérer les informations d'identification Windows.

 Manage Windows Credentials

Je viens de supprimer ces informations d'identification et lorsque j'ai exécuté git Push, il m'a demandé mes informations d'identification GitHub, et cela a fonctionné comme un charme.

52
Mourya

Essayez d’utiliser la commande ci-dessous.

git credential-manager

Ici, vous pouvez obtenir différentes options pour gérer vos identifiants (voir l’écran ci-dessous).

 Enter image description here

Ou vous pouvez même essayer directement cette commande:

git credential-manager uninstall

Cela va commencer à demander à nouveau des mots de passe pour chaque demande d'interaction de serveur. 

36
Himanshu Aggarwal

Dans mon cas, Git utilise Windows pour stocker les informations d'identification.

Tout ce que vous avez à faire est de supprimer les informations d'identification stockées dans votre compte Windows:

 Windows credentials menu

25
SoliQuiD

J'ai trouvé quelque chose qui a fonctionné pour moi. Lorsque j'ai écrit mon commentaire à l'OP, je n'avais pas vérifié le fichier de configuration du système: 

git config --system -l

montre un

credential.helper=!github --credentials

ligne. Je le désactive avec

git config --system --unset credential.helper

et maintenant les informations d'identification sont oubliées.

21
damix911
git config --list

montrera credential.helper = manager (c'est sur une machine Windows)

Pour désactiver ce nom d'utilisateur/mot de passe mis en cache pour votre dossier git local actuel, entrez simplement

git config credential.helper ""

De cette façon, git demandera un mot de passe chaque fois, en ignorant ce qui est enregistré dans "manager".

12
Zhe Hu

Dans Windows 2003 Server avec "wincred" *, aucune autre réponse ne m'a aidé. Je devais utiliser cmdkey .

  • cmdkey /list répertorie toutes les informations d'identification stockées.
  • cmdkey /delete:Target supprime les informations d'identification avec le nom "Target".

 cmdkey /list; cmdkey /delete:Target

(* Par "wincred" je veux dire git config --global credential.helper wincred)

10
ericbn

Besoin de vous connecter avec les githubs username et password respectifs 

Effacer le nom d'utilisateur et le mot de passe dans Windows 

Panneau de configuration\Comptes d'utilisateurs\Gestionnaire d'informations d'identification

Editez les informations d'identification windows 

Supprimez l'utilisateur existant et allez maintenant à la commande Invite, écrivez la commande Push. Elle affiche une fenêtre contextuelle github pour saisir les username/email et password.

Maintenant, nous sommes en mesure de pousser le code après le changement d'utilisateur.

9
Amit K

Supprimez cette ligne de votre fichier .gitconfig situé dans le dossier de l'utilisateur actuellement connecté à Windows:

[credential]
helper = !\"C:/Program Files (x86)/GitExtensions/GitCredentialWinStore/git-credential-winstore.exe\"

Cela a fonctionné pour moi et maintenant, lorsque je Push to remote, il demande à nouveau mon mot de passe.

7
Liviu M.

Si Git Credential Manager pour Windows est utilisé (comme le font habituellement les versions actuelles):

git credential-manager clear

C'était ajouté mi-2016 . Pour vérifier si le gestionnaire d'informations d'identification est utilisé:

git config --global credential.helper
→ manager
6
Simon A. Eugster

Vous pouvez supprimer la ligne credential.helper=!github --credentials du fichier suivant C:\Program Files\Git\mingw64\etc\gitconfig afin de supprimer les informations d'identification de git

6
Yoan Pumar

Vous avez la même erreur lorsque vous faites un "tir git" et voici comment je l'ai corrigé.

  1. Changer le repo en HTTPS
  2. Exécutez la commande 'git config --system --unset credential.helper'
  3. Exécutez la commande 'git config --system --add credential.helpder manager'
  4. Commande de test 'git pull'
  5. Entrez les informations d'identification dans la fenêtre de connexion qui s'ouvre.
  6. Git pull terminé avec succès.
5
Amer Bashoeb

Dans mon cas, je n'ai pas pu trouver les informations d'identification enregistrées dans le gestionnaire des informations d'identification Windows (Windows 7).

J'ai pu réinitialiser mes informations d'identification en exécutant

git config --global credential.helper wincred

En toute honnêteté, Mary a été grêle de voir si cela effacerait mes références et que cela a fonctionné. 

5
jlafay
  1. Aller au C:\Users\<current-user>
  2. vérifier le fichier .git-credentials
  3. Supprimer le contenu ou modifier selon vos besoins 
  4. Redémarrez votre terminal
4
Dinesh Patil

Vous devez le mettre à jour dans votre Credential Manager.

Accédez à Panneau de configuration> Comptes d'utilisateurs> Gestionnaire des informations d'identification> Informations d'identification Windows. Vous verrez les informations d'identification Git dans la liste (par exemple, git: https: //). Cliquez dessus, mettez à jour le mot de passe et exécutez la commande git pull/Push depuis votre compte Git bash. Il ne générera plus de message d'erreur.

4
ChiragBhalgami

Cette erreur apparaît lorsque vous utilisez plusieurs comptes Git sur le même ordinateur.

Si vous utilisez macOS, vous pouvez supprimer les informations d'identification enregistrées de github.com.

Veuillez suivre les étapes ci-dessous pour supprimer les informations d'identification github.com.

  1. Ouvrir Accès au trousseau
  2. Trouver github
  3. Sélectionnez le github.com et faites un clic droit dessus 
  4. Supprimer "github.com"
  5. Essayez à nouveau de pousser ou tirer vers git et il demandera les informations d'identification. 
  6. Entrez des informations d'identification valides pour le compte du référentiel.
  7. Terminé

     enter image description here

3
Pratik Patel

L’utilisation de la dernière version de git pour Windows sur Windows 10 Professional et un autre problème similaire avaient deux comptes différents GitHub et un compte Bitbucket, ce qui a rendu les choses un peu déroutantes pour VS2017, les extensions git et git bash.

J'ai d'abord vérifié comment git traitait mes informations d'identification avec cette commande (exécutez git bash avec des commandes élevées ou vous obtenez des erreurs):

git config --list

J'ai trouvé l'entrée Credential Manager. J'ai donc cliqué sur le bouton DÉMARRER> puis saisi Credential Manager et cliqué à gauche sur l'icône de sécurité du gestionnaire des identifiants qui a lancé l'application. J'ai ensuite cliqué sur les onglets Informations d'identification Windows et trouvé l'entrée de mon compte git actuel (Bitbucket), j'ai donc supprimé ce compte.

Mais cela n’a pas fonctionné, la prochaine étape a donc été de supprimer les informations d’identité. C’est ce que j’ai fait à partir du répertoire de référentiel de mon ordinateur portable contenant le projet GitHub que j’essaie d’appliquer à la télécommande. J'ai tapé la commande suivante:

git config --system --unset credential.helper

Ensuite, j'ai fait un push Git et on m'a demandé un nom d'utilisateur GitHub que j'ai entré (le bon dont j'avais besoin), puis le mot de passe associé et tout a été propulsé correctement.

Je ne suis pas sûr de l'ampleur du problème, la plupart des gens travaillent probablement à partir du même référant, mais je dois travailler sur plusieurs fournisseurs et utiliser différents fournisseurs pour pouvoir le rencontrer à nouveau.

2
Tahir Khalid

Dans notre cas, effacer le mot de passe du fichier .git-credentials de l'utilisateur a fonctionné pour nous.

c:\users\[username]\.git-credentials
0
Fares

Ce qui a finalement été résolu pour moi, c’est d’utiliser GitHub Desktop, d’accéder aux paramètres du référentiel et de supprimer user: pass @ de l’URL du référentiel. Ensuite, j'ai tenté une commande Push à partir de la ligne de commande et les informations de connexion ont été demandées. Après que j'ai mis ceux dans tout est revenu à la normale. Visual Studio et la ligne de commande fonctionnent, et bien sûr, le bureau GitHub. 

GitHub Desktop-> Repository-> Repository Settings-> onglet Distant

Modifier le référentiel distant principal (origine) à partir de:

https: //pork@[email protected]/MyProject/MyProject.git

À:

https://github.com/MyProject/MyProject.git

Cliquez sur "Enregistrer"

Les informations d'identification seront effacées. 

0
Nick Pirocanac

Sous Windows, au moins, git remote show [remote-name] fonctionnera, par exemple.

git remote show Origin
0
Jason S

Comme mentionné par tout le monde ci-dessus, il s'agit d'un problème de Git Credential Manager. En raison d'autorisations, je ne pouvais pas modifier mes informations d'identification ni manipuler le gestionnaire d'informations d'identification . Je ne pouvais pas non plus me permettre de m'asseoir le mot de passe en clair sur PC. Une solution de contournement consistait à supprimer la branche distante dans intellij et à rajouter la branche distante. Cela supprime les informations d'identification stockées et force l'actualisation des informations d'identification. 

 enter image description here

0
Akin Okegbile

Essayez ceci lorsque rien de tel que mentionné ci-dessus ne fonctionne pour vous.

git config credential.helper 'cache --timeout=30'

cela supprimera le cache toutes les 3 secondes et demandera un nom d'utilisateur et un mot de passe. Vous pouvez réexécuter la commande avec des valeurs de délai d'expiration plus élevées.

0
manish kumar

Construire à partir de la réponse à vote élevé de @ patthoyts ( https://stackoverflow.com/a/15382950/4401322 ):

Sa réponse utilise mais n'explique pas les configurations "locale" ou "globale" par rapport à "système". La documentation officielle git pour eux est ici et mérite d'être lue. 

Par exemple, je suis sous Linux et n'utilise pas de configuration system, je n'utilise donc jamais d'indicateur --system, mais il est généralement nécessaire de faire la différence entre les configurations --local et --global.

Mon cas d'utilisation est que j'ai deux informations d'identification Github; un pour le travail et un pour le jeu.

Voici comment je réglerais le problème:

$ cd work
# do and commit work
$ git Push Origin develop
# Possibly prompted for credentials if I haven't configured my remotes to automate that. 
# We're assuming that now I've stored my "work" credentials with git's credential helper.

$ cd ~/play 
# do and commit play
$ git Push Origin develop                                                                   
remote: Permission to whilei/specs.git denied to whilei.                
fatal: unable to access 'https://github.com/workname/specs.git/': The requested URL returned error: 403

# So here's where it goes down:
$ git config --list | grep cred
credential.helper=store # One of these is for _local_
credential.helper=store # And one is for _global_

$ git config --global --unset credential.helper
$ git config --list | grep cred
credential.helper=store # My _local_ config still specifies 'store'
$ git config --unset credential.helper
$ git Push Origin develop
Username for 'https://github.com': whilei
Password for 'https://[email protected]':
Counting objects: 3, done.
Delta compression using up to 12 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 1.10 KiB | 1.10 MiB/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
To https://github.com/whilei/specs.git
   b2ca528..f64f065  master -> master

# Now let's turn credential-helping back on:
$ git config --global credential.helper "store"
$ git config credential.helper "store"
$ git config --list | grep cred
credential.helper=store # Put it back the way it was.
credential.helper=store

Il est également intéressant de noter qu'il existe des moyens d'éviter ce problème. Par exemple, vous pouvez utiliser les ~/.ssh/config avec les clés SSH associées pour Github (un pour le travail, un pour le jeu) et les hôtes distants correspondants, nommés de manière personnalisée, pour résoudre également la contextualisation de l'authentification.

0
irbanana

Pour effacer le cache Git Credentials Managers for Windows:

rm $env:LOCALAPPDATA\GitCredentialManager\tenant.cache

ou

rm %LOCALAPPDATA%\GitCredentialManager\tenant.cache
0
Chris F Carroll

Si vous êtes authentifié à l'aide de votre paire de clés, vous pouvez supprimer ou déplacer votre clé privée, ou arrêter l'agent de clé et essayer.

0
Munim

Pour les utilisateurs de macOS:  

Cette erreur apparaît lorsque vous utilisez plusieurs comptes Git sur le même ordinateur.

Veuillez suivre les étapes ci-dessous pour supprimer les informations d'identification de github.com.

  1. Aller au Finder
  2. Aller aux applications
  3. Aller au dossier Utilitaires
  4. Accès au trousseau ouvert
  5. Sélectionnez le github.com et faites un clic droit dessus

    Supprimer "github.com"

Essayez à nouveau de pousser ou tirez vers git et il demandera les informations d'identification . Entrez des informations d'identification valides pour le compte du référentiel .

0
curiousneuron