web-dev-qa-db-fra.com

Comment désactiver Git Credential Manager for Windows?

Je remarque que dans la dernière version de Git, la valeur par défaut est désormais de faire apparaître une boîte de dialogue "Git Credential Manager for Windows" au lieu de me demander mon mot de passe à l'invite bash à chaque fois. Je déteste vraiment ce comportement. Comment puis-je simplement le désactiver et revenir à la saisie du mot de passe sur le shell bash à chaque fois?

En passant, je ne veux pas que Git mette en cache mes informations d'identification de quelque manière que ce soit , que ce soit via des informations d'identification Windows ou un démon interne. Je veux désactiver toute la mise en cache des informations d'identification .

122
Jez

OK, j'ai découvert qu'il fallait AVOIDER de cocher la case "Git Credential Manager" pendant l'installation de Git pour Windows ou d'exécuter (après l'installation) bash Shell en tant qu'administrateur et d'utiliser git config --edit --system pour supprimer la ligne helper = manager afin qu'elle ne soit plus enregistrée un assistant d'identification.

Pour les points bonus, utilisez git config --edit --global et insérez:

[core]
    askpass =

Pour désactiver également la fenêtre contextuelle des informations d'identification OpenSSH.

162
Jez

J'ai pu désinstaller Git Credential Manager pour Windows à l'aide de l'option de désinstallation suivante:

git-credential-manager.exe uninstall

Exécutez cette commande dans C:\Program Files\Git\mingw64\libexec\git-core

26
Ian Mercer

Tu peux soit:

  1. win + R, tapez "compmgmt.msc",
  2. sélectionnez "Services et applications" -> "Services"
  3. trouver là gestionnaire des informations d'identification, 
  4. changez le type de démarrage en désactivé, arrêtez-le, appliquez et validez
10
Phoera

Une autre option que je devais utiliser avec VSTS:

git config credential.modalprompt false --global

9
Sten Petrov

Pour moi n'a pas fonctionné:

C:\Program Files\Git\mingw64\libexec\git-core
git-credential-manager.exe uninstall

Looking for Git installation(s)...
  C:\Program Files\Git

Updated your /etc/gitconfig [git config --system]
Updated your ~/.gitconfig [git config --global]

Removing from 'C:\Program Files\Git'.
  removal failed. U_U

Press any key to continue...

Mais avec --force flag a fonctionné:

C:\Program Files\Git\mingw64\libexec\git-core                                                                       
git credential-manager uninstall --force                                                                          
08:21:42.537616 exec_cmd.c:236          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
e                                                                                                                   
08:21:42.538616 git.c:576               trace: exec: git-credential-manager uninstall --force                       
08:21:42.538616 run-command.c:640       trace: run_command: git-credential-manager uninstall --force                

Looking for Git installation(s)...                                                                                  
  C:\Program Files\Git                                                                                              

Updated your /etc/gitconfig [git config --system]                                                                   
Updated your ~/.gitconfig [git config --global]                                                                     


Success! Git Credential Manager for Windows was removed! ^_^                                                        

Press any key to continue...

Je pouvais voir cette trace après avoir couru:

set git_trace=1

J'ai aussi ajouté le nom d'utilisateur git:

git config --global credential.username myGitUsername

Ensuite:

C:\Program Files\Git\mingw64\libexec\git-core
git config --global credential.helper manager

À la fin je mets cette commande:

git config --global credential.modalPrompt false

Je vérifie si l'agent ssh est en cours d'exécution - ouvre une fenêtre bash pour exécuter cette commande

eval "$(ssh-agent -s)"

Puis, dans le dossier utilisateurs/votre nom de l’ordinateur, où se trouve .ssh Ajouter une connexion (toujours en bash)

ssh-add .ssh/id_rsa

or

ssh-add ~/.ssh/id_rsa(if you are not in that folder)

J'ai vérifié tous les paramètres que j'ai ajoutés ci-dessus:

C:\Program Files\Git\mingw64\libexec\git-core                                                                       
git config --list                                                                                                 
09:41:28.915183 exec_cmd.c:236          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-cor
e                                                                                                                   
09:41:28.917182 git.c:344               trace: built-in: git config --list                                          
09:41:28.918181 run-command.c:640       trace: run_command: unset GIT_PAGER_IN_USE; LESS=FRX LV=-c less             
core.symlinks=false                                                                                                 
core.autocrlf=true                                                                                                  
core.fscache=true                                                                                                   
color.diff=auto                                                                                                     
color.status=auto                                                                                                   
color.branch=auto                                                                                                   
color.interactive=true                                                                                              
help.format=html                                                                                                    
rebase.autosquash=true                                                                                              
http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt                                                 
http.sslbackend=openssl                                                                                             
diff.astextplain.textconv=astextplain                                                                               
filter.lfs.clean=git-lfs clean -- %f                                                                                
filter.lfs.smudge=git-lfs smudge -- %f                                                                              
filter.lfs.process=git-lfs filter-process                                                                           
filter.lfs.required=true                                                                                            
credential.helper=manager                                                                                           
credential.modalprompt=false                                                                                        
credential.username=myGitUsername    

Et quand j'ai refait git Push seulement pour la première fois, je devais ajouter un nom d'utilisateur et passer. 

git Push
Please enter your GitHub credentials for https://[email protected]/
username: myGithubUsername
password: *************
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 316 bytes | 316.00 KiB/s, done.
Total 3 (delta 2), reused 0 (delta 0)
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.

Depuis que sur git Push je n'ai plus le message pour entrer mes identifiants git.

D:\projects\react-redux\myProject (master -> Origin) ([email protected])
λ git Push
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 314 bytes | 314.00 KiB/s, done.
Total 3 (delta 2), reused 0 (delta 0)
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
To https://github.com/myGitUsername/myProject.git
   8d38b18..f442d74  master -> master

Après ces réglages, j'ai aussi reçu un email avec le message:

 A personal access token (git: https://[email protected]/ 
on LAP0110 at 25-Jun-2018 09:22) with Gist and repo scopes was recently added 
to your account. Visit https://github.com/settings/tokens for more information.

Je mets cela parce que pour moi a travaillé. J'espère que cela aidera les autres aussi.

7
John Smith

J'ai eu ce problème, j'ai seulement supprimé le git-credential-manager.exe de 

C:\Program Files\Git\mingw64\libexec\git-core
7
Henry Vásquez

Je voulais utiliser le gestionnaire d'informations d'identification pour une utilisation normale, mais j'ai des scripts pour lesquels je ne souhaite évidemment pas recevoir d'invites de la part de git.exe. Voici comment j'appelle git à partir de mes scripts:

set GIT_TERMINAL_Prompt=0
git -c core.askpass= -c credential.helper= <command> ...

De cette manière, le script voit toujours le paramètre "correct" no-Prompt sans avoir à adapter aucune configuration.

(git pour Windows 2.13.3)


Une variante que j'ai trouvée qui pourrait aussi être utile est de définir:

set GCM_INTERACTIVE=never
# or: git config --global credential.interactive never

set GIT_TERMINAL_Prompt=0
git.exe -c core.askpass= -c credential.helper=manager <command> ...

Mais notez que git.exe -c credential.interactive=never <command> ... Ne fonctionne PAS (il semble que -c ne soit pas acheminé vers Git-Credential-Manager-for-Windows ou autre).

De cette façon, vous pouvez utiliser le GCMfW, mais il ne vous demandera jamais, il recherchera simplement les informations d'identification, ce qui peut être très utile dans les environnements non interactifs.

3
Martin Ba

et si: wq ne fonctionne pas comme dans mon cas, utilisez les touches ctrl + z pour annuler et quitter, mais elles créeront probablement plusieurs fichiers de sauvegarde plus tard. 

Veillez également à exécuter Git en tant qu'administrateur! Sinon, le fichier ne sera pas enregistré (dans mon cas).

1
user3437639

J'ai rencontré le même problème sous Ubuntu (18.10), incapable d'éliminer avec des moyens normaux .J'ai utilisé git config --global --unset credential.helper, qui semblait faire l'affaire.

1
wanton

C:\Program Files\Git\mingw64\libexec\git-core
git credential-manager uninstall --force 

Fonctionne sur les systèmes Windows. J'ai testé et cela fonctionne pour moi. Merci d'avoir partagé.

0
user4558740

Peut-être que le problème est SourceTree .

  1. Aller aux outils -> options 

  2. Décochez "Vérifier les télécommandes par défaut pour les mises à jour toutes les 10 minutes"

  3. Redémarrez SourceTree!

0
hatanooh

vous pouvez simplement supprimer le Credential Manager.

C:\Utilisateurs \\ AppData\Local\Programmes\Git\mingw64\libexec\git-core

0
Caio Borges