it-swarm.com.de

Entfernen Sie die Anmeldeinformationen von Git

Ich arbeite mit mehreren Repositories, aber in letzter Zeit arbeitete ich nur in unserem internen und alles war großartig.

Heute musste ich einen Code festlegen und in einen anderen Code verschieben, aber ich habe einige Probleme.

$ 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

Es gibt nichts was ich tun kann, das würde die Passworteingabe erneut bringen.

Wie kann ich die Anmeldeinformationen auf meinem System zurücksetzen, sodass Git mich nach dem Kennwort dieses Repositorys fragt?

Ich habe versucht:

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

um das Passwort zu löschen

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

um Cache-Ausweise zu vermeiden ...

Nichts scheint zu funktionieren; hat jemand eine bessere idee?

359
balexandre

Der Git-Berechtigungsnachweiscache führt einen Daemon-Prozess aus, der Ihre Berechtigungsnachweise im Arbeitsspeicher speichert und bei Bedarf ausgibt. So beenden Sie Ihren git-credential-cache - daemon-Prozess löscht all dies und fordert Sie erneut auf, Ihr Kennwort einzugeben, wenn Sie dies weiterhin als cache.helper-Option verwenden.

Sie können auch die Verwendung des Git-Berechtigungscache mithilfe von git config --global --unset credential.helper deaktivieren. Setzen Sie dann das zurück, und Sie haben die zwischengespeicherten Anmeldeinformationen weiterhin für andere Repositorys verfügbar (sofern vorhanden). Möglicherweise müssen Sie auch git config --system --unset credential.helper ausführen, wenn dies in der Systemkonfigurationsdatei festgelegt wurde (z. B. Git für Windows 2).

Unter Windows können Sie den manager - Helfer (git config --global credential.helper manager) verwenden. Dies speichert Ihre Anmeldeinformationen im Windows-Anmeldeinformationsspeicher, der über eine Systemsteuerungsoberfläche verfügt, in der Sie Ihre gespeicherten Anmeldeinformationen löschen oder bearbeiten können. In diesem Store sind Ihre Daten durch Ihre Windows-Anmeldung geschützt und können über mehrere Sitzungen hinweg gespeichert werden. Der in Git für Windows 2.x enthaltene Helfer manager hat den früheren Helper wincred ersetzt, der in Git für Windows 1.8.1.1 hinzugefügt wurde. Ein ähnlicher Helfer namens winstore ist auch online verfügbar und wurde mit GitExtensions verwendet, da er eine mehr GUI-gesteuerte Schnittstelle bietet. Der manager - Helper bietet dieselbe GUI-Schnittstelle wie winstore.

Auszug aus dem Windows-Handbuch Detail des Windows-Fensters für Berechtigungsnachweise:

Öffnen Sie Benutzerkonten, indem Sie auf die Schaltfläche Start Schaltfläche "Start" klicken, auf Systemsteuerung klicken, auf Benutzerkonten und Family Safety klicken (oder auf Benutzerkonten, wenn Sie mit einer Netzwerkdomäne verbunden sind) und dann auf Benutzerkonten klicken. Klicken Sie im linken Bereich auf Anmeldeinformationen verwalten.

435
patthoyts

Wenn dieses Problem auf einem Windows-Computer auftritt, gehen Sie wie folgt vor.

  • Wechseln Sie zu Credential Manager
  • Wechseln Sie zu Windows-Anmeldeinformationen 
  • Löschen Sie die Einträge unter Generic Credentials
  • Versuchen Sie erneut, eine Verbindung herzustellen. Dieses Mal sollte es Sie zur Eingabe des korrekten Benutzernamens und Kennworts auffordern.

 Go to Credential Manager

 Go to Windows Credentials and Delete the entries under Generic Credentials

347

Erneut eingeben:

$ git config credential.helper store

Anschließend werden Sie aufgefordert, Ihre Anmeldeinformationen erneut einzugeben.

WARNUNG

Mit diesem Helfer werden Ihre Passwörter unverschlüsselt auf der Festplatte gespeichert

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

127
aaafly

Ich hatte das gleiche Problem wie das OP. Meine alten Git-Anmeldeinformationen wurden irgendwo auf dem System gespeichert, und ich wollte Git mit meinen neuen Anmeldeinformationen verwenden. Deshalb habe ich den Befehl ausgeführt

$ git config --system --list

Es zeigte

credential.helper=manager

Wann immer ich git Push durchführte, nahm er meinen alten Benutzernamen, den ich lange zurückgesetzt hatte, und ich wollte ein neues GitHub-Konto für Push-Änderungen verwenden. Später stellte ich fest, dass meine alten GitHub-Konto-Anmeldeinformationen unter SystemsteuerungBenutzerkontenCredential ManagerWindows-Anmeldeinformationen verwalten gespeichert wurden.

 Manage Windows Credentials

Ich habe gerade diese Anmeldeinformationen entfernt, und als ich git Push ausgeführt habe, wurde ich nach meinen GitHub-Anmeldeinformationen gefragt, und es funktionierte wie ein Zauber.

52
Mourya

Versuchen Sie es mit dem folgenden Befehl.

git credential-manager

Hier können Sie verschiedene Optionen zum Verwalten Ihrer Anmeldeinformationen erhalten (siehe untenstehender Bildschirm).

 Enter image description here

Oder Sie können diesen Befehl sogar direkt ausprobieren:

git credential-manager uninstall

Dadurch werden Sie bei jeder Server-Interaktionsanfrage erneut zur Eingabe von Kennwörtern aufgefordert. 

36

In meinem Fall verwendet Git Windows, um Anmeldeinformationen zu speichern.

Sie müssen nur die in Ihrem Windows-Konto gespeicherten Anmeldeinformationen entfernen:

 Windows credentials menu

25
SoliQuiD

Ich habe etwas gefunden, das für mich funktioniert hat. Als ich meinen Kommentar an das OP schrieb, konnte ich die System-Konfigurationsdatei nicht überprüfen: 

git config --system -l

zeigt ein

credential.helper=!github --credentials

linie. Ich löse es mit

git config --system --unset credential.helper

und jetzt sind die Zeugnisse vergessen.

21
damix911
git config --list

zeigt credential.helper = manager (dies ist auf einem Windows-Rechner)

Um diesen zwischengespeicherten Benutzernamen/Passwort für Ihren aktuellen lokalen Git-Ordner zu deaktivieren, geben Sie einfach Folgendes ein

git config credential.helper ""

Auf diese Weise fordert git jedes Mal zur Eingabe eines Kennworts auf und ignoriert, was in "manager" gespeichert ist.

12
Zhe Hu

Bei Windows 2003 Server mit "wincred" * hat mir keine der anderen Antworten geholfen. Ich musste cmdkey verwenden.

  • cmdkey /list listet alle gespeicherten Anmeldeinformationen auf.
  • cmdkey /delete:Target löscht den Berechtigungsnachweis mit dem Namen "Ziel".

 cmdkey /list; cmdkey /delete:Target

(* Mit "wincred" meine ich git config --global credential.helper wincred)

10
ericbn

Sie müssen sich mit dem entsprechenden github username und password anmelden. 

So löschen Sie den Benutzernamen und das Kennwort in Windows 

Systemsteuerung\Benutzerkonten\Credential Manager

Bearbeiten Sie den Windows-Berechtigungsnachweis  

Entfernen Sie den vorhandenen Benutzer und gehen Sie zum Befehl Eingabeaufforderung. Schreiben Sie den Push-Befehl. Er zeigt ein Github-Popup, in das Sie username/email und password eingeben.

Jetzt können wir den Code nach dem Umschalten des Benutzers drücken.

9
Amit K

Entfernen Sie diese Zeile aus Ihrer .gitconfig-Datei, die sich im aktuell angemeldeten Benutzerordner von Windows befindet:

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

Das funktionierte für mich und jetzt, wenn ich auf Remote schiebe, werden Sie nach meinem Passwort gefragt.

7
Liviu M.

Wenn Git Credential Manager für Windows verwendet wird (was derzeitige Versionen normalerweise tun):

git credential-manager clear

Dies wurde hinzugefügt Mitte 2016 . So prüfen Sie, ob der Anmeldeinformations-Manager verwendet wird:

git config --global credential.helper
→ manager
6

Sie können die Zeile credential.helper=!github --credentials aus der folgenden Datei C:\Program Files\Git\mingw64\etc\gitconfig entfernen, um die Berechtigungsnachweise für git zu entfernen

6
Yoan Pumar

Ich habe den gleichen Fehler beim 'git pull' und so habe ich es behoben.

  1. Ändern Sie das Repo in HTTPS
  2. Führen Sie den Befehl 'git config --system --unset credential.helper' aus.
  3. Führen Sie den Befehl 'git config --system --add credential.helpder manager' aus.
  4. Testbefehl 'git pull'
  5. Geben Sie die Anmeldeinformationen in das sich öffnende Anmeldefenster ein.
  6. Git-Pull wurde erfolgreich abgeschlossen.
5
Amer Bashoeb

In meinem Fall konnte ich die im Windows Credential Manager (Windows 7) gespeicherten Anmeldeinformationen nicht finden.

Ich konnte meine Anmeldeinformationen durch Ausführen zurücksetzen

git config --global credential.helper wincred

Es war ehrlich gesagt ein Hagel Mary, um zu sehen, ob es meine Nachweise auslöschen würde, und es funktionierte tatsächlich. 

5
jlafay
  1. Gehe zu C:\Users\<current-user>
  2. Überprüfen Sie die .git-credentials-Datei
  3. Löschen Sie den Inhalt oder ändern Sie ihn entsprechend Ihrer Anforderung 
  4. Starten Sie Ihr Terminal neu
4
Dinesh Patil

Sie müssen es in Ihrem Credential Manager aktualisieren.

Gehen Sie zu Systemsteuerung> Benutzerkonten> Anmeldeinformations-Manager> Windows-Anmeldeinformationen. In der Liste werden Git-Anmeldeinformationen angezeigt (z. B. git: https: //). Klicken Sie darauf, aktualisieren Sie das Kennwort, und führen Sie den Befehl git pull/Push aus Ihrer Git-Bash aus. Es werden keine Fehlermeldungen mehr ausgegeben.

4
ChiragBhalgami

Dieser Fehler tritt auf, wenn Sie mehrere Git-Konten auf demselben Computer verwenden.

Wenn Sie macOS verwenden, können Sie die gespeicherten Anmeldeinformationen von github.com entfernen.

Befolgen Sie die nachfolgenden Schritte, um die Anmeldeinformationen github.com zu entfernen.

  1. Öffnen Sie Schlüsselbundzugang
  2. Github suchen
  3. Wählen Sie github.com aus und klicken Sie mit der rechten Maustaste darauf 
  4. Löschen Sie "github.com"
  5. Versuchen Sie erneut, Push oder Pull zu git, und Sie werden nach den Anmeldeinformationen gefragt. 
  6. Geben Sie gültige Anmeldeinformationen für das Repository-Konto ein.
  7. Erledigt

     enter image description here

3
Pratik Patel

Mit der neuesten Version von git für Windows unter Windows 10 Professional und ich hatte ein ähnliches Problem, wobei ich zwei verschiedene GitHub-Konten und auch einen Bitbucket-Account hatte, sodass die Dinge für VS2017, Git-Erweiterungen und Git-Bash etwas verwirrend wurden.

Ich habe zuerst mit diesem Befehl überprüft, wie git meine Anmeldeinformationen handhabte (git bash mit erhöhten Befehlen ausführen oder es werden Fehler angezeigt):

git config --list

Ich habe den Eintrag Credential Manager gefunden, also habe ich auf die START-Schaltfläche geklickt> Credential Manager eingegeben und mit der linken Maustaste auf das Yell-Symbol des Credential Manager geklickt, das die App gestartet hat. Dann klickte ich auf die Windows-Anmeldeinformationsregisterkarten und fand den Eintrag für mein aktuelles Git-Konto, das zufällig Bitbucket war, und löschte dieses Konto.

Dies hat jedoch nicht den Trick gemacht. Der nächste Schritt bestand darin, die Anmeldeinformationen aufzuheben, und ich tat dies aus dem Repository-Verzeichnis auf meinem Laptop, das das GitHub-Projekt enthält, das ich auf die Fernbedienung schieben möchte. Ich habe den folgenden Befehl eingegeben:

git config --system --unset credential.helper

Dann machte ich einen git Push und wurde aufgefordert, einen GitHub-Benutzernamen einzugeben (den richtigen, den ich brauchte) und dann das dazugehörige Passwort und alles wurde richtig gepusht.

Ich bin mir nicht sicher, um welche Frage es sich hierbei handelt. Die meisten Leute arbeiten wahrscheinlich mit einem Repo, aber ich muss mit mehreren Anbietern arbeiten und verschiedene Anbieter verwenden, so dass dieses Problem möglicherweise erneut auftritt.

2
Tahir Khalid

In unserem Fall funktionierte das Löschen des Passworts in der .git-credentials-Datei des Benutzers für uns.

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

Für mich wurde das Problem behoben: GitHub-Desktop verwenden, zu den Repository-Einstellungen wechseln und user: pass @ aus der Repository-URL entfernen. Dann habe ich einen Push von der Befehlszeile aus versucht und wurde zur Eingabe der Anmeldeinformationen aufgefordert. Nachdem ich die eingemischt hatte, ging alles wieder normal. Sowohl Visual Studio als auch die Befehlszeile funktionieren, und natürlich der GitHub-Desktop. 

GitHub Desktop-> Repository-> Repository-Einstellungen-> Remote-Registerkarte

Primäres Remote-Repository (Origin) ändern von:

https: //[email protected]@github.com/MyProject/MyProject.git

Zu:

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

Klicken Sie auf "Speichern".

Anmeldeinformationen werden gelöscht. 

0
Nick Pirocanac

Zumindest unter Windows funktioniert git remote show [remote-name] , z.

git remote show Origin
0
Jason S

Wie bereits erwähnt, ist dies ein Git Credential Manager-Problem. Aufgrund von Berechtigungen konnte ich meine Anmeldeinformationen nicht ändern oder den Anmeldeinformationsmanager manipulieren. Eine Problemumgehung bestand darin, den Remote-Zweig in intellij zu löschen und den Remote-Zweig erneut hinzuzufügen. Dadurch werden die gespeicherten Anmeldeinformationen entfernt und die Aktualisierung der Anmeldeinformationen erzwungen. 

 enter image description here

0
Akin Okegbile

Versuchen Sie dies, wenn nichts wie oben erwähnt für Sie funktioniert.

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

dadurch wird der Cache alle 3 Sekunden gelöscht und nach Benutzername und Kennwort gefragt. Sie können den Befehl mit erhöhten Zeitlimitwerten erneut ausführen.

0
manish kumar

Aufbau von @ patthoyts 'hoch gewählter Antwort ( https://stackoverflow.com/a/15382950/4401322 ):

Seine Antwort verwendet "local" vs. "global" vs. "system" configs, erklärt sie jedoch nicht. Die offizielle Git-Dokumentation für sie ist hier und lesenswert. 

Zum Beispiel bin ich unter Linux und verwende keine system -Konfiguration, daher verwende ich niemals ein --system-Flag, muss aber normalerweise zwischen --local und --global-configs unterscheiden.

Mein Anwendungsfall ist, dass ich zwei Github-Crendentials habe; eine für die Arbeit und eine für das Spiel.

So würde ich mit dem Problem umgehen:

$ 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

Es ist auch erwähnenswert, dass dieses Problem gänzlich vermieden werden kann. Sie können beispielsweise ~/.ssh/configs mit zugehörigen SSH-Schlüsseln für Github (einer für die Arbeit, einer für die Wiedergabe) und entsprechend benutzerdefinierten Remote-Hosts verwenden, um die Kontextualisierung der Authentifizierung zu lösen.

0
irbanana

So löschen Sie den Cache von Git Credentials Managers für Windows:

rm $env:LOCALAPPDATA\GitCredentialManager\tenant.cache

oder

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

Wenn Sie mit Ihrem Schlüsselpaar authentifiziert sind, können Sie Ihren privaten Schlüssel löschen oder verschieben oder den Schlüsselagenten stoppen und versuchen.

0
Munim

Für macOS-Benutzer:  

Dieser Fehler tritt auf, wenn Sie mehrere Git-Konten auf demselben Computer verwenden.

Befolgen Sie die folgenden Schritte, um die Anmeldeinformationen von github.com zu entfernen.

  1. Gehe zum Finder
  2. Gehen Sie zu Anwendungen
  3. Wechseln Sie in den Ordner Dienstprogramme
  4. Öffnen Sie den Schlüsselbund-Zugriff
  5. Wählen Sie den github.com und klicken Sie mit der rechten Maustaste darauf

    "Github.com" löschen

Versuchen Sie es erneut mit Push oder Pull zu git und es werden die Anmeldeinformationen abgefragt

0
curiousneuron