Comment mettre à jour le mot de passe de Git?

567

J'utilise BitBucket avec Xcode et Git pour le contrôle de version, et récemment j'ai changé tous mes mots de passe ( merci Adobe! ).

Sans surprise, je ne suis plus en mesure de pousser mes validations locales vers mon référentiel sur BitBucket ( Authentication failed for 'https://______.git'), mais j'oublie comment mettre à jour le mot de passe mis en cache sur mon iMac. D'une certaine manière, je n'ai pas pu le trouver sur Google ou Stack Overflow, bien qu'il me semble que cela devrait être plutôt simple ...

Ken M. Haggerty
la source
5
Il est probablement stocké dans votre trousseau OS X (le magasin de mots de passe)
knittl
2
Pourrait être dans votre fichier .git / config, si votre nom d'utilisateur / mot de passe est juste stocké avec l'url git.
Erik Kerber

Réponses:

869

Pour résoudre ce problème sur macOS, vous pouvez utiliser

git config --global credential.helper osxkeychain

Une invite de nom d'utilisateur et de mot de passe apparaîtra avec votre prochaine action Git (pull, clone, push, etc.).

Pour Windows, c'est la même commande avec un argument différent:

git config --global credential.helper wincred
Ken M. Haggerty
la source
45
Sur Mac OS 10.12.2 et quand j'ai fait ce qui précède - vérifié et revérifié que je l'ai entré correctement - et rien ne s'est produit.
b_dubb
59
@b_dubb Cela pourrait ne rien faire avant la prochaine fois que vous tendez la main (pousser, tirer, récupérer), vous serez alors invité à fournir des informations d'identification.
user2782001
3
@ user2782001 J'utilisais l'assistant osxkeychain, l'exécution de la commande mac n'a rien fait. Je soupçonne que si quelqu'un n'utilisait pas l'assistant auparavant, changeant la configuration pour utiliser l'assistant, il verrait qu'un mot de passe n'avait pas été entré pour cette télécommande, il demanderait, et tout irait bien la première fois. Les modifications ultérieures de la configuration ne demanderaient pas. La réponse ci-dessous a fonctionné pour moi.
neuralmer
102
Ne fonctionne pas sur les fenêtres. Ne demande pas le nouveau mot de passe
disklosr
8
Cela fonctionne sur Mac OS Mojave. Merci!
Nguyen Tran
509

Aucune des autres réponses n'a fonctionné pour moi sur MacOS Sierra 10.12.4

Voici ce que je devais faire:

git config --global --unset user.password

Exécutez ensuite votre commande git (ex. Git push) et entrez à nouveau votre nom d'utilisateur et votre mot de passe.

Derek Lopes
la source
40
C'était la bonne méthode qui fonctionnait pour moi (sur mac)
shdobxr
1
Cela m'a sauvé! Je le stockais dans le compositeur, mais il créait également un auth.json qui devenait ennuyeux parce que j'avais toujours oublié de l'ajouter au .gitignore.
cbloss793
1
Merci qui a fonctionné! avant cela, il me demandait un mot de passe, mais même si j'ai entré un nouveau mot de passe, l'authentification a toujours échoué.
Paul Taylor
6
Cela ne fait rien pour moi sous Windows. Après cette commande, j'ai essayé de pousser, et elle a réussi, donc le mot de passe est toujours disponible pour git
stand alone
1
A travaillé sur Win10. Tout d'abord, j'ai utilisé la commande de cette réponse et plus tard simplement git pull- une fenêtre contextuelle Windows est apparue demandant un mot de passe. Merci!
shemekh
431

Sous Windows 10 avec Git

Supprimer / mettre à jour les informations d'identification associées stockées dans les informations d'identification Windows dans >> Panneau de configuration \ Tous les éléments du Panneau de configuration \ Gestionnaire d'informations d'identification

entrez la description de l'image ici

Imran Javed
la source
9
C'était bien ainsi. Pour les utilisateurs qui doivent travailler avec la version néerlandaise du système d'exploitation: informations d'identification ---> referentiebeheer
dexter
10
C'était la solution la plus simple. Il vous suffit de modifier. Merci.
yuva
4
Btw, le chemin pour moi était Panneau de configuration \ Comptes d'utilisateurs \ Gestionnaire d'informations d'identification, mais le mieux est de taper les informations d'identification pour sauter directement.
Everts
1
Merci beaucoup! Sauvez ma journée.
Dhaval Patel du
2
Il fonctionne également sur Windows 7. Merci :)
Vladislav
165

La seule façon de modifier mon mot de passe git était d'aller dans Credential Manager sous Windows (clé Windows + type 'credential') et de modifier l'entrée git sous Windows Credentials 🡒 Generic Credentials. Remarque: non répertorié par ordre alphabétique

bom1
la source
5
La question a été posée pour macOS
Saikat
14
@Saikat et pourtant, beaucoup d'entre nous avec la même question pour Windows finissent par trouver cette question SO. C'est presque comme si la question elle-même pendant que les macos balisées n'étaient pas spécifiques au système d'exploitation!
iheanyi
1
Ce fut la seule réponse qui a fonctionné pour moi sur Win 10
Kolob Canyon
87

J'ai eu le même problème, et la réponse acceptée ne m'a pas aidé car le mot de passe n'était pas stocké dans le trousseau. J'ai tapé:

git pull https://[email protected]/mypath/myrepo.git

La console m'a alors demandé mon nouveau mot de passe.

Julián Martínez
la source
1
J'ai essayé comme ça seulement, mais la pop des informations d'identification s'affiche toujours, au lieu de réinitialiser le mot de passe
Anita Mehta
Cela a fonctionné pour moi, mais j'ai d'abord dû réinitialiser le captcha. Je vous remercie.
fiskra
77

Dans Windows 10 à mentionné ci-dessus par @Imran Javed, vous pouvez trouver des informations d'identification génériques à:

Panneau de configuration \ Tous les éléments du panneau de configuration \ Gestionnaire d'informations d'identification -> Informations d'identification Windows

pour votre serveur git, puis vous pouvez mettre à jour le mot de passe en cliquant sur le bouton Modifier.

entrez la description de l'image ici

nzrytmn
la source
@halxinate quel système d'exploitation utilisez-vous? Ceci est pour Windows 10.
nzrytmn
31

l'exécution git config --global --unset user.passwordsuivie d'une commande git vous inviterait à saisir le nom d'utilisateur et le mot de passe.

git config --global --unset user.password
git push (will prompt you for the password)
git status (will not prompt for password again)
Shravan Ramamurthy
la source
9
Eh bien, appeler la commande git push (ou pull) vient de me donner une erreur d'authentification et un accès refusé. Ne m'a pas incité
John Demetriou
Cette réponse ne couvre pas tout ce qui n'est pas couvert par celui de Derek.
Bonifacio2
26

Dans ma machine Windows, j'ai essayé la solution de @nzrytmn, c'est-à-dire Panneau de configuration> Rechercher les informations d'identification> Sélectionner "ManageCredentials"> modifier les nouvelles informations d'identification dans la catégorie d'options git correspondant à mon nom d'utilisateur. Et alors,

Mot de passe actuel supprimé:

git config --global --unset user.password

Nouveau mot de passe ajouté:

git config --global --add user.password "new_password"

Et cela a fonctionné pour moi.

Abhimanyu Sharma
la source
N'a pas travaillé pour moi. J'ai résolu le problème comme décrit ici: cmatskas.com/how-to-update-your-git-credentials-on-windows
vlad
PAS DE TRAVAIL CHER, A ESSAYÉ DEUX FOIS
Kamlesh
18

Si vous êtes un utilisateur MAC, vous pouvez ouvrir l'application d'accès KeyChain à partir du Finder, puis rechercher votre compte qui y est répertorié. Cliquez simplement dessus et mettez à jour votre mot de passe. Essayez maintenant et les choses vont se mettre en place.

lien de référence: mise à jour de vos informations d'identification via l'accès au trousseau

A travaillé pour moi. :)

Nishant
la source
1
C'est ce qui a fonctionné pour moi! Il nous permet de mettre à jour le mot de passe d' un repo. Certaines des autres suggestions de cette page affecteront tout ce que git touche.
Stefan Lasiewski
13

Je poussais dans le référentiel pour la première fois. Il n'y avait donc pas de HEADdéfinition.

Le moyen le plus simple serait de:

git push -u origin master

Il vous demandera alors le mot de passe, et une fois que vous l'entrerez, il sera enregistré automatiquement, et vous pourrez pousser.

Pritam Banerjee
la source
si je pousse du local vers mon serveur distant, alors quel mot de passe dois-je utiliser? S'agit-il de mon mot de passe de connexion au serveur distant ou autre?
Fawwad
@Fawwad C'est le mot de passe du référentiel distant.
Pritam Banerjee
3
Mon serveur distant n'est pas github.com. C'est mon serveur dédié où j'ai installé Git.
Fawwad
je comprends comment cela vous aiderait à pousser la première fois, mais comment cela aiderait à mettre à jour le mot de passe enregistré.
timwaagh
@Fawwad peu importe ce que vous utilisez. Vous devez toujours fournir les informations d'identification qui fournissent un accès en écriture au référentiel dans lequel vous souhaitez écrire.
iheanyi
8

procédez comme suit dans le terminal:

  1. Supprimer le mot de passe actuel enregistré sur votre Mac

    git config --global --unset user.password
    
  2. Ajoutez votre nouveau mot de passe en utilisant cette commande, remplacez par votre nouveau mot de passe:

    git config --global --add user.password <new_pass>
    
Luthfi Rahman
la source
4
De cette façon, votre mot de passe est enregistré dans l'historique, et toute personne qui exécute la commande historique peut le voir en texte brut. Pour l'empêcher, vous pouvez ajouter un espace supplémentaire avant la commande ou exécuter cette commande 'history -d 1234' avec l'ID de ligne suivant ensuite
Lavandysh
8

Si vos informations d'identification sont stockées dans l'assistant d'informations d'identification, la façon portable de supprimer un mot de passe persistant pour un hôte spécifique consiste à appeler git credential reject:

$ git credential reject
protocol=https
host=bitbucket.org
⏎

ou

$ git credential reject
url=https://bitbucket.org
⏎

Après cela, pour saisir votre nouveau mot de passe, tapez git fetch.

Marsu
la source
2
avertissement: ligne d'identification non valide:? fatal: impossible de lire les informations d'identification de stdin
pinei
7

Il y a une telle confusion sur cette question, car il y a beaucoup trop de complexité dans cette question. Premier MacOS vs Win10. Puis les différents mécanismes d'authentification.

Je vais commencer une réponse consolidée ici et j'ai probablement besoin d'aide, si je ne reçois pas d'aide, je continuerai à travailler sur la réponse jusqu'à ce qu'elle soit complète, mais cela prendra du temps.

Windows 10: | | -

MacOS: | |-- Using git config to store username and password: | git config --global --add user.password | |---- first time entry | git config --global --add user.password <new_pass> | |---- password update | git config --global --unset user.password | git config --global --add user.password <new_pass> | |-- Using keychain: | git config --global credential.helper osxkeychain | |---- first time entry | Terminal will ask you for the username and password. Just enter it, it will be | stored in keychain from then on. | |---- password update | Open keychain, delete the entry for the repository you are trying to use. | (git remote -v will show you) | On next use of git push or something that needs permissions, git will ask for | the credentials, as it can not find them in the keychain anymore.

user637338
la source
Ça marche. Exécutez <git config --global --unset user.password> puis <git push origin master> demandera le nom d'utilisateur et le mot de passe. Merci.
Renhuai
5

vous pouvez modifier le mot de passe via la ligne de commande à 2 endroits, ce qui modifierait les informations d'identification pour connecter le référentiel

git config --edit 

Les informations d'identification peuvent également être modifiées au niveau mondial en utilisant un paramètre global comme ci-dessous

 git config --global --add user.password "XXXX"

ou définissez l'assistant d'informations d'identification avec

git config --global credential.helper wincred

mais si vous avez des informations d'identification au niveau du référentiel, définissez l'utilisation de la première commande

git config --edit
Un autre toi
la source
5

Pour Mac

Si vous avez plusieurs référentiels distants (Github, Bitbucket, Job, etc.)

1) exécuter dans le répertoire du projet

git config --unset user.password

2) exécuter la commande git à distance (c'est-à-dire git push ou git pull)

Git vous demandera de ressaisir votre nom d'utilisateur et votre mot de passe utilisateur pour ce référentiel

Ou vous pouvez le faire globalement si vous n'avez qu'un seul référentiel distant

git config --global --unset user.password
Andrey
la source
4

Si vous utilisez github et avez activé l'authentification à 2 facteurs, vous devez entrer un jeton d'accès personnel au lieu de votre mot de passe

Réinitialisez d'abord votre mot de passe:

git config --global --unset user.password

Ensuite, connectez-vous à votre compte github, dans le coin droit, cliquez sur Paramètres, puis Paramètres développeur. Générez un jeton d'accès personnel. Copiez-le.

git push

Le terminal vous demandera votre nom d'utilisateur: entrez votre adresse e-mail.

À l'invite du mot de passe, entrez plutôt le jeton d'accès personnel.

Raphael Pinel
la source
2

J'essaierais de supprimer mon compte dans Keychain Access, puis je git clonerecommencerais. Git me demandera un nouveau mot de passe.

Hiro
la source
C'est ce que j'ai choisi de faire. J'avais plusieurs comptes github stockés dans le trousseau. J'ai choisi de les supprimer tous. J'ai réussi à pousser ma succursale locale.
Coach Roebuck
1
pas une bonne réponse. Le reclonage est beaucoup trop pour cette tâche simple
Kolob Canyon
2

J'ai tout essayé mais rien n'a fonctionné. Ensuite, ce qui suit a fonctionné.

  1. Avant l'une des étapes ci-dessus, verrouillez et déverrouillez le trousseau à nouveau car il se bloque parfois.
  2. Installez le bureau GitHub - cela aide.

la source
Comment tu fais ça?
Shekhar Sahu
2

Pour ceux qui cherchent à réinitialiser l'accès au référentiel. Par l'exemple de GitHub. Vous pouvez modifier le mot de passe de votre profil GitHub et révoquer tous les "jetons d'accès personnel" dans "Paramètres -> Paramètres développeur" de votre profil. Vous pouvez également effacer toutes vos clés SSH / PGP et vos applications OAuth / GitHub pour vous assurer que l'accès au référentiel est complètement bloqué. Ainsi, tous les gestionnaires d'informations d'identification, sur n'importe quel système, échoueront lors de l'autorisation et vous inviteront à entrer les nouvelles informations d'identification.

seul
la source
2

Les étapes suivantes peuvent résoudre le problème .....

  1. Allez dans le dossier ~ / Library / Application Support / SourceTree
  2. Supprimez le fichier {Username}@STAuth-bitbucket.org
  3. Redémarrez Sourcetree
  4. Essayez de récupérer, le mot de passe déposé apparaît, donnez votre nouveau mot de passe
  5. Peut également exécuter la commande "git fetch" dans le terminal et doit taper le mot de passe
  6. Terminé
emraz
la source
1

Dans cet article , ils l'expliquent d'une manière très simple, mais en gros, nous avons juste besoin d'exécuter une git remote set-url origin "https://<yourUserName>@bitbucket.org/<yourRepo>"et la prochaine fois que vous effectuez un git pullou un, git pushvous devrez mettre votre mot de passe.

robertovg
la source
1

mon mot de passe était bon dans les préférences du bureau github mais faux dans le fichier .git / config

pour moi, la seule solution de travail était de modifier manuellement le fichier: .git / config

qui contient cette ligne: url = https: // user: [email protected]/user/repo.git

changer le mot de passe en BON mot de passe car il était plus ancien pour moi

Damien Mattei
la source
0

Si les solutions ci-dessus ne fonctionnent pas, essayez de changer votre URL de suppression de git.

git remote -v

git remote set-url origin

Sujith
la source
0

J'ai pu changer mon mot de passe git en allant dans Credential Manager dans Windows et en supprimant toutes les entrées git sous Windows Credentials 🡒 Generic Credentials.

Lorsque vous faites un git pull ou un git push, Windows vous demandera le nouvel utilisateur / mot de passe lui-même.

shaurya airi
la source
0

Pour les utilisateurs MAC, l'utilisation de git GUI ( Works for Sourcetree , peut également fonctionner pour d'autres). J'aimerais ajouter une petite remarque à la réponse de Derek ( https://stackoverflow.com/a/45703718/7138492 ). La suggestion originale:

$ git config --global --unset user.password

devrait être suivi d'un push / pull / fetch MAIS cela pourrait ne pas fonctionner une fois fait à partir de l'interface graphique. Le cas de travail% 100 serait de faire la toute première commande git de déclenchement d'invite consécutive à partir de la console. Voici un exemple:

  1. Localisez le répertoire racine de votre dépôt git
  2. Tapez $ git config --unset user.password
  3. Procédez avec une recommandation git de votre choix dans le terminal, par exemple: $ git push

Ensuite, il vous demandera de fournir le nouveau mot de passe.

Serj Ardovic
la source