Ich arbeite mit mehreren Repositories, aber in letzter Zeit habe ich nur in unserem internen gearbeitet und alles war großartig.
Heute musste ich Code in einen anderen übertragen und schieben, 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
Da kann ich nichts machen, was die Passworteingabe wieder bringen würde.
Wie kann ich die Anmeldeinformationen auf meinem System zurücksetzen, damit Git mich nach dem Passwort dieses Repositorys fragt?
Ich habe versucht:
git config --global --unset core.askpass
um das Passwort zurückzusetzen
git config credential.helper 'cache --timeout=1'
um den Cache für Anmeldeinformationen zu vermeiden …
Nichts scheint zu funktionieren; hat jemand eine bessere idee?
Hast du ein ~/.netrc Datei?
– Robinst
13. März 2013 um 9:29 Uhr
@robinst es ist eine Windows-Maschine, und ich kann diese Datei nicht finden, nicht einmal von Git Bash …
– balexandre
13. März 2013 um 10:30 Uhr
@balexandre Für einen Windows-Computer bevorzuge ich die Verwendung des neuen Anmeldeinformationshelfers (git 1.8.3). netrcdie speichern würde mehrere Nachweis in einem verschlüsselt Datei. Es ist besser, als jedes Mal für jede Sitzung Ihr Passwort einzugeben, da der Cache das Passwort nur für eine bestimmte Zeit “zwischenspeichert”. Sehen Sie hier ein vollständiges Beispiel.
– VonC
22. August 2013 um 13:18 Uhr
Ich habe kein .netrc. Ich habe eine Datei in ~ (C:\Users\Myself) mit dem Namen .git-credentials, aber das Löschen hat nicht funktioniert, ich bin immer noch bei Git Shell angemeldet. Außerdem scheint der Control Panel Credential Manager nichts zu speichern. Lokale und globale Git-Konfigurationsdateien scheinen in Ordnung zu sein. Ich habe meine Workstation von einem Mitarbeiter geerbt, der gegangen ist, also könnte es sein, dass er einen unorthodoxen Caching-Mechanismus für Anmeldeinformationen eingerichtet hat, von dem ich keine Ahnung habe, wie ich ihn deaktivieren soll. Ich hoffe, dass dieses Verhalten NICHT der Standard von Git Windows ist. Auf dem Mac ist das Zwischenspeichern von Anmeldeinformationen die Standardeinstellung, aber zumindest wird es in der Schlüsselbundverwaltung angezeigt.
– damix911
18. November 2015 um 11:00 Uhr
Eine ausführlichere Antwort, die auch unter Linux, Windows und Mac OS X funktioniert, finden Sie unter stackoverflow.com/a/39944557/3906760
– Herr Tux
9. Oktober 2016 um 15:07 Uhr
Patthoyts
Der Git-Cache für Anmeldeinformationen führt einen Daemon-Prozess aus, der Ihre Anmeldeinformationen im Arbeitsspeicher zwischenspeichert und sie bei Bedarf ausgibt. Das Töten Ihres git-credential-cache–daemon-Prozesses wirft also all diese weg und führt dazu, dass Sie erneut nach Ihrem Passwort gefragt werden, wenn Sie dies weiterhin als cache.helper-Option verwenden.
Sie können die Verwendung des Git-Cache für Anmeldeinformationen auch mithilfe von deaktivieren git config --global --unset credential.helper. Setzen Sie dies dann zurück, und Sie würden die zwischengespeicherten Anmeldeinformationen weiterhin für andere Repositories (falls vorhanden) zur Verfügung haben. Möglicherweise müssen Sie auch tun git config --system --unset credential.helper wenn dies in der Systemkonfigurationsdatei festgelegt wurde (z. B. Git für Windows 2).
Unter Windows sind Sie möglicherweise besser dran, wenn Sie die verwenden Manager Helfer (git config --global credential.helper manager). Dadurch werden Ihre Anmeldeinformationen im Windows-Anmeldeinformationsspeicher gespeichert, der über eine Benutzeroberfläche der Systemsteuerung verfügt, in der Sie Ihre gespeicherten Anmeldeinformationen löschen oder bearbeiten können. Mit diesem Store sind Ihre Daten durch Ihre Windows-Anmeldung gesichert und können über mehrere Sitzungen hinweg bestehen bleiben. Die Manager Helfer, der in Git für Windows 2.x enthalten ist, hat den früheren ersetzt wincred Helfer, der in Git für Windows 1.8.1.1 hinzugefügt wurde. Ein ähnlicher Helfer rief an Winstore ist auch online verfügbar und wurde mit GitExtensions verwendet, da es eine eher GUI-gesteuerte Schnittstelle bietet. Die Manager helper bietet die gleiche GUI-Oberfläche wie Winstore.
Um den Credential Manager zu öffnen, geben Sie „Credential Manager“ in das Suchfeld auf der Taskleiste ein und wählen Sie aus Credential Manager-Systemsteuerung.
Und dann auswählen Windows-Anmeldeinformationen zum Bearbeiten (= Entfernen oder Ändern) der gespeicherten Git-Anmeldeinformationen für eine bestimmte URL.
Ich habe die Systemsteuerung für Windows-Anmeldeinformationen unter gefunden Control Panel\User Accounts\Credential Manager unter Windows7
– Steve Krüger
30. April 2015 um 13:04 Uhr
Hinterlässt das Beenden des Prozesses nicht irgendwo Spuren, so dass noch auf das Passwort zugegriffen werden könnte? Laut Git-Handbuch werden sie im “Klartext” gespeichert.
– Ufos
19. Januar 2016 um 13:40 Uhr
Unter Windows 8.1 waren die “Windows Credentials” unter Generic Credentials und git:gitlab.com oder Ihren Git-Server Ihrer Wahl.
– Jeff
21. April 2016 um 16:34 Uhr
Unter Windows 8/10 befinden sich die detaillierten Benutzerkonteneinstellungen unter der “klassischen” Systemsteuerung, nicht die „Einstellungen“-App (moderne Benutzeroberfläche). Nur um Verwirrung zu vermeiden.
– DanielH
8. Juni 2016 um 9:32 Uhr
Gehen Sie in Windows 10 zu Systemsteuerung\Alle Systemsteuerungselemente\Credential Manager. Es könnte einen generischen Berechtigungsnachweis für GitHub geben. Dort können Sie den Benutzernamen und das Passwort aktualisieren.
– Eldhose Abraham
5. Januar 2018 um 7:01 Uhr
Dieser Befehl fordert nicht auf, meine Anmeldeinformationen erneut einzugeben, dieser Befehl tut nichts
– Shirish Herwade
13. November 2017 um 12:34 Uhr
@ShirishHerwade versuchen Sie git pull, dann sehen Sie einen Eingabeaufforderungsbildschirm
– ismailcem
31. Oktober 2018 um 8:01 Uhr
@jkokorian Um diesen Befehl rückgängig zu machen, löschen Sie die entsprechenden Zeilen aus .git/config.
– Zenadix
3. Januar 2019 um 10:45 Uhr
@zenadix Wenn Sie das nicht manuell tun möchten, können Sie verwenden git config --unset credential.helper
– Cadiz
8. November 2021 um 8:27 Uhr
Der in dieser Lösung angegebene Befehl fragt nicht nach einem neuen Passwort. Es scheint nichts zu tun
– Alex
7. Januar um 8:30 Uhr
Murya
Ich stand vor dem gleichen Problem wie der OP. Es nahm meine alten Git-Anmeldeinformationen, die irgendwo auf dem System gespeichert waren, und ich wollte Git mit meinen neuen Anmeldeinformationen verwenden, also führte ich den Befehl aus
$ git config --system --list
Es zeigte
credential.helper=manager
Immer wenn ich aufgetreten bin git push Es nahm meinen alten Benutzernamen, den ich lange zurückgelegt hatte, und ich wollte ein neues GitHub-Konto verwenden, um Änderungen zu pushen. Später stellte ich fest, dass meine alten GitHub-Kontoanmeldeinformationen unter gespeichert waren Schalttafel → Benutzerkonten → Qualifikationsmanager → Windows-Anmeldeinformationen verwalten.
Ich habe gerade diese Anmeldeinformationen entfernt und als ich auftrat git push Es hat mich nach meinen GitHub-Anmeldeinformationen gefragt, und es hat wie ein Zauber funktioniert.
@VonC Ich habe einen Tag gebraucht, um das herauszufinden, da ich diesen Mechanismus zum Speichern von Anmeldeinformationen nicht kannte.
– Murya
20. September 2016 um 14:00 Uhr
Es ist in der Tat ziemlich neu. Danke, dass du es hier erwähnt hast.
– VonC
20. September 2016 um 16:21 Uhr
Dies ist wahrscheinlich die bessere Antwort als die “akzeptierte”, was für mich bedeutet, dass alle Anmeldeinformationen vernichtet werden. Hat mir auf jeden Fall geholfen.
– VictorLegros
19. Mai 2020 um 16:40 Uhr
Git Credential Manager Core ist der neuere und standardmäßige Anmeldeinformationsmanager. In neueren Versionen von Git git config --global --list sollte jetzt zurückkommen credential.helper=manager-core und nicht credential.helper=manager
– Asif Kamran Malick
24. März 2021 um 20:41 Uhr
Peter Mortensen
Versuchen Sie es mit dem folgenden Befehl.
git credential-manager
Hier erhalten Sie verschiedene Optionen zum Verwalten Ihrer Anmeldeinformationen (überprüfen Sie den folgenden Bildschirm).
Oder Sie können diesen Befehl sogar direkt ausprobieren:
git credential-manager uninstall
Dadurch wird bei jeder Serverinteraktionsanfrage erneut nach Passwörtern gefragt.
@VonC Ich habe einen Tag gebraucht, um das herauszufinden, da ich diesen Mechanismus zum Speichern von Anmeldeinformationen nicht kannte.
– Murya
20. September 2016 um 14:00 Uhr
Es ist in der Tat ziemlich neu. Danke, dass du es hier erwähnt hast.
– VonC
20. September 2016 um 16:21 Uhr
Dies ist wahrscheinlich die bessere Antwort als die “akzeptierte”, was für mich bedeutet, dass alle Anmeldeinformationen vernichtet werden. Hat mir auf jeden Fall geholfen.
– VictorLegros
19. Mai 2020 um 16:40 Uhr
Git Credential Manager Core ist der neuere und standardmäßige Anmeldeinformationsmanager. In neueren Versionen von Git git config --global --list sollte jetzt zurückkommen credential.helper=manager-core und nicht credential.helper=manager
– Asif Kamran Malick
24. März 2021 um 20:41 Uhr
Jaap
Ich habe etwas gefunden, das für mich funktioniert hat. Als ich meinen Kommentar an das OP schrieb, hatte ich die Systemkonfigurationsdatei nicht überprüft:
git config --system -l
zeigt ein
credential.helper=!github --credentials
Linie. Ich lösche es mit
git config --system --unset credential.helper
und jetzt sind die Anmeldeinformationen vergessen.
Ankur, Sie müssen den vorgeschlagenen Befehl möglicherweise zwei- bis dreimal auf ähnliche Weise ausführen, wenn Sie ein paar Credential Helper konfiguriert haben. git config --global --unset credential.helper und vielleicht nur git config --unset credential.helper in Ihrem Repository, wenn Sie es irgendwie explizit dort gesetzt hätten.
– drache788
26. September 2016 um 21:57 Uhr
danke für die lösung. Nur ein Detail: In meinem Fall musste ich die Eingabeaufforderung als Administrator starten
– A. Joly
3. März 2020 um 8:11 Uhr
Nur das hat auf dem Mac geholfen
– merdan
25. August 2020 um 9:33 Uhr
9870600cookie-checkAnmeldedaten aus Git entfernenyes
Hast du ein
~/.netrc
Datei?– Robinst
13. März 2013 um 9:29 Uhr
@robinst es ist eine Windows-Maschine, und ich kann diese Datei nicht finden, nicht einmal von Git Bash …
– balexandre
13. März 2013 um 10:30 Uhr
@balexandre Für einen Windows-Computer bevorzuge ich die Verwendung des neuen Anmeldeinformationshelfers (git 1.8.3).
netrc
die speichern würde mehrere Nachweis in einem verschlüsselt Datei. Es ist besser, als jedes Mal für jede Sitzung Ihr Passwort einzugeben, da der Cache das Passwort nur für eine bestimmte Zeit “zwischenspeichert”. Sehen Sie hier ein vollständiges Beispiel.– VonC
22. August 2013 um 13:18 Uhr
Ich habe kein .netrc. Ich habe eine Datei in ~ (C:\Users\Myself) mit dem Namen .git-credentials, aber das Löschen hat nicht funktioniert, ich bin immer noch bei Git Shell angemeldet. Außerdem scheint der Control Panel Credential Manager nichts zu speichern. Lokale und globale Git-Konfigurationsdateien scheinen in Ordnung zu sein. Ich habe meine Workstation von einem Mitarbeiter geerbt, der gegangen ist, also könnte es sein, dass er einen unorthodoxen Caching-Mechanismus für Anmeldeinformationen eingerichtet hat, von dem ich keine Ahnung habe, wie ich ihn deaktivieren soll. Ich hoffe, dass dieses Verhalten NICHT der Standard von Git Windows ist. Auf dem Mac ist das Zwischenspeichern von Anmeldeinformationen die Standardeinstellung, aber zumindest wird es in der Schlüsselbundverwaltung angezeigt.
– damix911
18. November 2015 um 11:00 Uhr
Eine ausführlichere Antwort, die auch unter Linux, Windows und Mac OS X funktioniert, finden Sie unter stackoverflow.com/a/39944557/3906760
– Herr Tux
9. Oktober 2016 um 15:07 Uhr