it-swarm.com.de

Wie deaktiviere ich Git Credential Manager für Windows?

Ich stelle fest, dass in der neuesten Version von Git jetzt standardmäßig ein Dialogfeld "Git Credential Manager für Windows" angezeigt wird, anstatt jedes Mal bei der bash-Eingabeaufforderung ein Kennwort einzugeben. Ich hasse dieses Verhalten wirklich. Wie kann ich es einfach deaktivieren und jedes Mal zur Eingabe des Passworts in der Bash-Shell zurückkehren?

Übrigens, ich möchte nicht, dass git meine Anmeldeinformationen in irgendeiner Weise speichert, sei es durch Windows-Anmeldeinformationen oder durch einen internen Daemon. Ich möchte alle Berechtigungsnachweise zwischenspeichern deaktivieren.

122
Jez

OK Ich habe festgestellt, dass Sie entweder AVOID aktivieren müssen, um das Kontrollkästchen "Git Credential Manager" während des Installationsprogramms von Git für Windows zu aktivieren, oder (nach der Installation) bash Shell als Administrator ausführen und git config --edit --system verwenden, um die helper = manager-Zeile zu entfernen, sodass sie nicht mehr als registriert wird ein Zeugnishelfer.

Für Bonuspunkte verwenden Sie git config --edit --global und fügen Sie Folgendes ein:

[core]
    askpass =

So deaktivieren Sie auch das Popup für OpenSSH-Anmeldeinformationen.

162
Jez

Ich konnte den Git Credential Manager für Windows mit der Deinstallationsoption deinstallieren:

git-credential-manager.exe uninstall

Führen Sie diesen Befehl in C:\Program Files\Git\mingw64\libexec\git-core aus.

26
Ian Mercer

Du kannst entweder:

  1. win + R, gib "compmgmt.msc" ein,
  2. wählen Sie "Dienste und Anwendungen" -> "Dienste".
  3. dort finden Credentials Manager, 
  4. Ändern Sie den Starttyp in "Deaktiviert", stoppen Sie ihn, "Übernehmen" und "OK"
10
Phoera

Eine andere Option, die ich mit VSTS verwenden musste:

git config credential.modalprompt false --global

9
Sten Petrov

Für mich funktionierte nicht:

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...

Aber mit --force flag funktionierte:

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...

Ich konnte diese Spur nach dem Lauf sehen:

set git_trace=1

Ich habe auch den git-Benutzernamen hinzugefügt:

git config --global credential.username myGitUsername

Dann:

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

Am Ende stelle ich diesen Befehl:

git config --global credential.modalPrompt false

Ich überprüfe, ob der SSH-Agent ausgeführt wird - Öffnet ein Bash-Fenster, um diesen Befehl auszuführen

eval "$(ssh-agent -s)"

Dann in dem Computer-Benutzer/IhrName-Ordner, wo sich .ssh .__ befindet. Verbindung hinzufügen (noch in der Bash)

ssh-add .ssh/id_rsa

or

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

Ich habe alle Einstellungen überprüft, die ich oben hinzugefügt habe:

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    

Und als ich git Push wieder nur zum ersten Mal gemacht habe, musste ich den Benutzernamen und den Pass hinzufügen. 

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.

Seit git Push habe ich keine Nachricht mehr, um meine Zugangsdaten einzugeben.

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

Nach diesen Einstellungen erhielt ich auch eine E-Mail mit der Nachricht:

 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.

Ich stelle das da für mich gearbeitet. Ich hoffe, das wird auch anderen helfen.

7
John Smith

Ich hatte dieses Problem, ich habe nur die Datei git-credential-manager.exe von entfernt 

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

Ich wollte den Credential Manager für den normalen Gebrauch verwenden, aber ich habe Skripts, bei denen ich offensichtlich keine Eingabeaufforderungen von git.exe möchte. So rufe ich git aus meinen Skripten auf:

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

Auf diese Weise sieht das Skript immer die "richtige" No-Prompt-Einstellung, ohne eine Konfiguration anpassen zu müssen.

(git für Windows 2.13.3)


Eine Variation, die ich auch als nützlich erachten könnte, ist die Einstellung:

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> ...

Beachten Sie jedoch, dass git.exe -c credential.interactive=never <command> ... NICHT funktioniert (anscheinend wird -c nicht an Git-Credential-Manager-for-Windows oder was auch immer weitergeleitet).

Auf diese Weise verwenden Sie can GCMfW, aber es wird niemals Aufforderung, es werden nur die Anmeldeinformationen nachgeschlagen, was in nicht interaktiven Umgebungen sehr hilfreich sein kann.

3
Martin Ba

und wenn: wq nicht wie in meinem Fall funktioniert, verwenden Sie Strg + z für Abbruch und Beenden, aber diese machen wahrscheinlich mehrere Sicherungsdateien für die spätere Verwendung - Adeem 19. Januar um 9:14 Uhr 

Stellen Sie außerdem sicher, dass Sie Git als Administrator ausführen. Andernfalls wird die Datei nicht gespeichert (in meinem Fall).

1
user3437639

Das gleiche Problem traf ich auf Ubuntu (18.10). Ich konnte es nicht mit normalen Mitteln entfernen .. Ich benutzte git config --global --unset credential.helper, das schien den Trick zu tun.

1
wanton

C:\Programme\Git\mingw64\libexec\git-core
git Credential-Manager deinstallieren --force 

Funktioniert auf Windows-Systemen. Ich habe es getestet und es funktioniert für mich. Danke für das Teilen.

0
user4558740

Möglicherweise ist das Problem SourceTree .

  1. Gehe zu Tools -> Optionen 

  2. Deaktivieren Sie "Standard-Fernbedienungen auf Updates prüfen [10] Minuten".

  3. Starten Sie SourceTree neu!

0
hatanooh

sie können den Berechtigungsnachweis-Manager einfach löschen.

C:\Benutzer \\ AppData\Local\Programs\Git\mingw64\libexec\git-core

0
Caio Borges