Ich arbeite mit mehreren Repositories, aber in letzter Zeit habe ich nur in unserem internen Repository gearbeitet und alles war großartig.
Heute musste ich Code festschreiben und in einen anderen 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
Ich kann nichts tun, was die Passworteingabe erneut bringen würde.
Wie kann ich die Anmeldeinformationen auf meinem System zurücksetzen, damit Git mich nach dem Kennwort dieses Repositorys fragt?
Ich habe versucht:
git config --global --unset core.askpass
um das Passwort zu deaktivieren
git config credential.helper 'cache --timeout=1'
um den Cache für Anmeldeinformationen zu vermeiden ...
Nichts scheint zu funktionieren; Hat jemand eine bessere Idee?
windows
git
credentials
Balexandre
quelle
quelle
~/.netrc
dateinetrc
, mit dem mehrere Anmeldeinformationen in einer verschlüsselten Datei gespeichert werden. 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". Ein vollständiges Beispiel finden Sie hier .Antworten:
Wenn dieses Problem auf einem Windows-Computer auftritt, gehen Sie wie folgt vor.
quelle
credential.helper=manager
. Um diesen Typ zu testengit config --list
. Wenn dies festgelegt ist, werdenstore
Anmeldeinformationen nicht im Anmeldeinformationsspeicher gespeichert, sondern unverschlüsselt.git:https://github.com
und wurde aufgefordert, meinen Benutzernamen / Pass einzugeben, wenn ich das nächste Mal ein Repo mit PyCharm geklont habe. Ich hatte mehr als einen Github-Account und der falsche wurde zwischengespeichert.Systemsteuerung\Alle Systemsteuerungselemente\Anmeldeinformationsverwaltung
.Credential Manager
. Das hat auch bei mir funktioniert403
Fehler über Bitbucket behoben .Der Git-Anmeldeinformations-Cache führt einen Daemon-Prozess aus, der Ihre Anmeldeinformationen im Speicher zwischenspeichert und bei Bedarf weitergibt. Wenn Sie also Ihren git-credential-cache - Daemon-Prozess beenden, werden all diese Dinge weggeworfen und Sie werden erneut zur Eingabe Ihres Kennworts aufgefordert, wenn Sie dies weiterhin als Option cache.helper verwenden.
Sie können auch die Verwendung des Git-Anmeldeinformations-Caches mit deaktivieren
git config --global --unset credential.helper
. Setzen Sie dies dann zurück, und Sie haben weiterhin die zwischengespeicherten Anmeldeinformationen für andere Repositorys verfügbar (falls vorhanden). Möglicherweise müssen Sie auch tungit config --system --unset credential.helper
wenn dies in der Systemkonfigurationsdatei festgelegt wurde (z. B. Git für Windows 2).Unter Windows ist es möglicherweise besser, den Manager- Helfer (
git config --global credential.helper manager
) zu verwenden. Dadurch werden Ihre Anmeldeinformationen im Windows-Anmeldeinformationsspeicher gespeichert, der über eine Systemsteuerungsoberfläche verfügt, über die Sie Ihre gespeicherten Anmeldeinformationen löschen oder bearbeiten können. Mit diesem Speicher werden Ihre Daten durch Ihre Windows-Anmeldung geschützt und können über mehrere Sitzungen hinweg bestehen bleiben. Der in Git für Windows 2.x enthaltene Manager- Helfer hat den früheren Wincred- Helfer 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 GUI-gesteuerte Oberfläche bietet. Der Manager- Helfer bietet dieselbe GUI-Oberfläche wie der Winstore .Auszug aus der Windows 10-Support-Seite mit detaillierten Angaben zum Windows-Manager für Anmeldeinformationen:
Wählen Sie dann Windows-Anmeldeinformationen aus , um die gespeicherten Git-Anmeldeinformationen für eine bestimmte URL zu bearbeiten (= zu entfernen oder zu ändern).
quelle
Control Panel\User Accounts\Credential Manager
unter Windows 7Retype:
Anschließend werden Sie aufgefordert, Ihre Anmeldeinformationen erneut einzugeben.
WARNUNG
Quelle: https://git-scm.com/docs/git-credential-store
quelle
.git/config
.Ich hatte das gleiche Problem wie das OP. Es wurden meine alten Git-Anmeldeinformationen verwendet, die irgendwo auf dem System gespeichert waren, und ich wollte Git mit meinen neuen Anmeldeinformationen verwenden, also habe ich den Befehl ausgeführt
Es zeigte
Wann immer ich auftrat
git push
, nahm ich meinen alten Benutzernamen, den ich lange zurückgesetzt hatte, und ich wollte ein neues GitHub-Konto verwenden, um Änderungen zu pushen. Später stellte ich fest, dass meine alten Anmeldeinformationen für das GitHub-Konto unter Systemsteuerung → Benutzerkonten → Anmeldeinformations-Manager → Windows-Anmeldeinformationen verwalten gespeichert waren .Ich habe gerade diese Anmeldeinformationen entfernt und als ich sie ausgeführt
git push
habe, habe ich nach meinen GitHub-Anmeldeinformationen gefragt, und es hat wie ein Zauber funktioniert.quelle
Versuchen Sie es mit dem folgenden Befehl.
Hier erhalten Sie verschiedene Optionen zum Verwalten Ihrer Anmeldeinformationen (siehe folgenden Bildschirm).
Oder Sie können diesen Befehl sogar direkt ausprobieren:
Dadurch werden bei jeder Serverinteraktionsanforderung erneut Kennwörter abgefragt.
quelle
git: 'credential-manager' is not a git command. See 'git --help'.
removal failed. U_U Press any key to continue... fatal: InvalidOperationException encountered. Cannot read keys when either application does not have a console or when console input has been redirected from a file. Try Console.Read.
(mit dem schönenU_U
Emoji aus dem Nichts :))Ich habe etwas gefunden, das für mich funktioniert hat. Als ich meinen Kommentar an das OP schrieb, konnte ich die Systemkonfigurationsdatei nicht überprüfen:
zeigt ein
Linie. Ich habe es mit deaktiviert
und jetzt sind die Anmeldeinformationen vergessen.
quelle
git config --global --unset credential.helper
und vielleicht nurgit config --unset credential.helper
in Ihrem Repository, wenn Sie es dort explizit festgelegt hatten.In meinem Fall verwendet Git Windows zum Speichern von Anmeldeinformationen.
Sie müssen lediglich die in Ihrem Windows-Konto gespeicherten Anmeldeinformationen entfernen:
quelle
wird angezeigt
credential.helper = manager
(dies ist auf einem Windows-Computer)Geben Sie einfach ein, um diesen zwischengespeicherten Benutzernamen / das zwischengespeicherte Kennwort für Ihren aktuellen lokalen Git-Ordner zu deaktivieren
Auf diese Weise fordert git jedes Mal zur Eingabe eines Kennworts auf und ignoriert, was in "manager" gespeichert ist.
quelle
git: 'credential-' is not a git command. See 'git --help'.
, aber aus Sicherheitsgründen stimme ich dieser Antwort zu, da sie die einzige ist, die mich zur Eingabe eines neuen Passworts veranlasst hat. Ich frage mich jedoch, ob dies nicht nur das Problem maskiert (wird das Passwort wirklich entfernt?)rm -rf ~/.git-credentials
habe. Beachten Sie, dass es variieren kann (git help credential-store
)git config --unset credential.helper
löscht den Eintrag. Diese Antwort setzt es einfach auf eine leere Zeichenfolge und erzeugt den Fehler, den @ribamar in den Kommentaren beschrieben hat.In Windows 2003 Server mit "wincred" * hat mir keine der anderen Antworten geholfen. Ich musste benutzen
cmdkey
.cmdkey /list
listet alle gespeicherten Anmeldeinformationen auf.cmdkey /delete:Target
löscht den Berechtigungsnachweis mit dem Namen "Ziel".(* Mit "wincred" meine ich
git config --global credential.helper wincred
)quelle
cmdkey
ist das Kommandozeilen-Gegenstück zu den in der ausgewählten Antwort beschriebenen Windows-Anmeldeinformationen.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 .
Führen Sie die folgenden Schritte aus, um die Anmeldeinformationen von github.com zu entfernen .
Erledigt
quelle
Müssen sich mit entsprechenden Github
username
und anmeldenpassword
So löschen Sie den Benutzernamen und das Passwort in Windows
Systemsteuerung \ Benutzerkonten \ Anmeldeinformations-Manager
Bearbeiten Sie die Windows-Anmeldeinformationen
Entfernen Sie den vorhandenen Benutzer und gehen Sie zur Eingabeaufforderung. Schreiben Sie den Push-Befehl. Es wird ein Github-Popup angezeigt, in das Sie das
username
/email
und eingeben könnenpassword
.Jetzt können wir den Code nach dem Benutzerwechsel pushen.
quelle
Ich habe den gleichen Fehler beim 'Git Pull' gemacht und so habe ich ihn behoben.
git config --system --unset credential.helper
git config --system --add credential.helper manager
git pull
quelle
Entfernen Sie diese Zeile aus Ihrer .gitconfig-Datei im aktuell angemeldeten Windows-Benutzerordner:
Dies hat bei mir funktioniert und jetzt, wenn ich auf die Fernbedienung drücke, werden Sie erneut nach meinem Passwort gefragt.
quelle
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 Passwort und führen Sie den Befehl git pull / push von Ihrem Git-Bash aus. Es werden keine weiteren Fehlermeldungen ausgegeben.
quelle
Falls Git Credential Manager für Windows verwendet wird (was in aktuellen Versionen normalerweise der Fall ist):
Dies wurde Mitte 2016 hinzugefügt . So überprüfen Sie, ob der Anmeldeinformationsmanager verwendet wird:
quelle
Die Verwendung der neuesten Version von git für Windows unter Windows 10 Professional und ich hatten ein ähnliches Problem, bei dem ich zwei verschiedene GitHub-Konten und auch ein Bitbucket-Konto habe, sodass die Dinge für VS2017, Git-Erweiterungen und Git-Bash etwas verwirrend wurden.
Ich habe zuerst überprüft, wie git meine Anmeldeinformationen mit diesem Befehl behandelt hat (führen Sie git bash mit erhöhten Befehlen aus, oder Sie erhalten Fehler):
Ich habe den Eintrag Credential Manager gefunden, also habe ich auf die Schaltfläche START geklickt> Credential Manager eingegeben und mit der linken Maustaste auf das gelbe Safe-Symbol des Credential Managers geklickt, mit dem die App gestartet wurde. Ich habe dann auf die Registerkarten Windows-Anmeldeinformationen geklickt und den Eintrag für mein aktuelles Git-Konto gefunden, der zufällig Bit-Bucket war, also habe ich dieses Konto gelöscht.
Da dies jedoch nicht ausreichte, bestand der nächste Schritt darin, die Anmeldeinformationen zu deaktivieren, und ich tat dies aus dem Repository-Verzeichnis auf meinem Laptop, das das GitHub-Projekt enthält, das ich auf die Fernbedienung übertragen möchte. Ich habe den folgenden Befehl eingegeben:
Dann habe ich einen Git-Push gemacht und wurde aufgefordert, einen GitHub-Benutzernamen einzugeben, den ich eingegeben habe (den richtigen, den ich brauchte), und dann das zugehörige Passwort und alles wurde korrekt gepusht.
Ich bin mir nicht sicher, wie groß das Problem in Zukunft sein wird. Die meisten Leute arbeiten wahrscheinlich in einem Repository, aber ich muss über mehrere und verschiedene Anbieter hinweg arbeiten, damit dieses Problem möglicherweise erneut auftritt.
quelle
In meinem Fall konnte ich die im Windows-Anmeldeinformations-Manager (Windows 7) gespeicherten Anmeldeinformationen nicht finden.
Ich konnte meine Anmeldeinformationen durch Ausführen zurücksetzen
Es war ehrlich gesagt ein Hagel, Mary zu sehen, ob es meine Anmeldeinformationen auslöschen würde und es tatsächlich funktionierte.
quelle
Sie können die Zeile
credential.helper=!github --credentials
aus der folgenden DateiC:\Program Files\Git\mingw64\etc\gitconfig
entfernen, um die Anmeldeinformationen für git zu entfernenquelle
C:\Users\<current-user>
.git-credentials
Datei suchenquelle
Zumindest unter Windows
git remote show [remote-name]
funktioniert zquelle
Wenn Sie möchten, dass git alte gespeicherte Anmeldeinformationen vergisst und Benutzername und Passwort erneut eingibt, können Sie dies mit dem folgenden Befehl tun:
Wenn Sie nach dem Ausführen des obigen Befehls versuchen, etwas zu pushen, können Sie den Benutzernamen und das Kennwort eingeben.
quelle
Was dies für mich endgültig behoben hat, war, den GitHub-Desktop zu verwenden, zu den Repository-Einstellungen zu wechseln und user: pass @ aus der Repository-URL zu entfernen. Dann habe ich versucht, einen Push über die Befehlszeile auszuführen, und wurde aufgefordert, Anmeldeinformationen einzugeben. Nachdem ich die hineingesteckt hatte, ging alles wieder normal. Sowohl Visual Studio als auch die Befehlszeile funktionieren und natürlich der GitHub-Desktop.
GitHub Desktop-> Repository-> Repository-Einstellungen-> Registerkarte Remote
Ändern Sie das primäre Remote-Repository (Ursprung) von:
https: //pork@[email protected]/MyProject/MyProject.git
Zu:
https://github.com/MyProject/MyProject.git
Klicken Sie auf "Speichern"
Anmeldeinformationen werden gelöscht.
quelle
Für MacOS-Benutzer:
Dieser Fehler tritt auf, wenn Sie mehrere Git-Konten auf demselben Computer verwenden.
Führen Sie die folgenden Schritte aus, um die Anmeldeinformationen von github.com zu entfernen.
Wählen Sie github.com aus und klicken Sie mit der rechten Maustaste darauf
Löschen Sie "github.com"
Versuchen Sie erneut, auf Git zu drücken oder zu ziehen, und es werden Sie nach den Anmeldeinformationen gefragt. Geben Sie gültige Anmeldeinformationen für das Repository-Konto ein. Erledigt
quelle
Gehen Sie für Windows 10 zum folgenden Pfad:
An dieser Stelle befinden sich 2 Registerkarten.
Klicken Sie auf die Registerkarte Windows-Anmeldeinformationen. Hier sehen Sie Ihre gespeicherten Github-Anmeldeinformationen unter der Überschrift "Allgemeine Anmeldeinformationen".
Sie können diese von hier entfernen und versuchen, sie erneut zu klonen. Sie werden jetzt nach Benutzername / Kennwort gefragt, da wir gerade die gespeicherten Anmeldeinformationen von den Windows 10-Systemen entfernt haben
quelle
So löschen Sie Git Credentials Manager für Windows-Cache:
oder
quelle
Versuchen Sie dies, wenn nichts wie oben erwähnt für Sie funktioniert.
Dadurch wird der Cache alle 3 Sekunden entfernt und nach Benutzername und Kennwort gefragt. Sie können den Befehl mit erhöhten Zeitlimitwerten erneut ausführen.
quelle
In unserem Fall hat das Löschen des Kennworts in der .git-Anmeldeinformationsdatei des Benutzers für uns funktioniert.
quelle
Aufbauend auf der hoch bewerteten Antwort von @ patthoyts ( https://stackoverflow.com/a/15382950/4401322 ):
In seiner Antwort werden "lokale" vs. "globale" vs. "System" -Konfigurationen verwendet, aber nicht erklärt. Die offizielle Git-Dokumentation für sie ist hier und lesenswert.
Zum Beispiel bin ich unter Linux und verwende keine Systemkonfiguration , daher verwende ich nie ein
--system
Flag, sondern muss normalerweise zwischen--local
und--global
Konfigurationen unterscheiden.Mein Anwendungsfall ist, dass ich zwei Github-Kriterien habe. eine für die Arbeit und eine zum Spielen.
So würde ich mit dem Problem umgehen:
Es ist auch erwähnenswert, dass es Möglichkeiten gibt, dieses Problem insgesamt zu vermeiden. Sie können beispielsweise die
~/.ssh/config
zugehörigen SSH-Schlüssel für Github (einen für die Arbeit, einen für die Wiedergabe) und entsprechend benutzerdefinierte Remote-Hosts verwenden, um auch die Kontextualisierung der Authentifizierung zu lösen.quelle
Um @ericbn 's https://stackoverflow.com/a/41111629/579827 hinzuzufügen, sind hier Beispielbefehle aufgeführt, die ich in ein Skript eingebettet habe, das ich ausführe, um alle meine Passwörter zu aktualisieren, wenn sie erneuert werden. Es ist wahrscheinlich nicht so wie es ist verwendbar, da es ziemlich spezifisch ist, aber es zeigt die reale Verwendung von
cmdkey.exe
.quelle
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.
quelle