
Wenn ich ausführe git credential-osxkeychain get
, bleibt es einfach hängen, obwohl es Informationen darüber zurückgeben sollte, welche Anmeldeinformationen im Schlüsselbund gespeichert sind. Gibt es eine Möglichkeit, dies zum Laufen zu bringen?
Ich verwende OS X 10.15.5
$ git credential-osxkeychain
usage: git credential-osxkeychain <get|store|erase>
$ git --version
git version 2.27.0
Antwort1
Alle git credential-*
Helfer sind für die interne Verwendung durch Git selbst gedacht und folgen einer bestimmten Schnittstelle.
Wenn der Helfer mit dem get
Unterbefehl ausgeführt wird,wartet auf Eingabe auf stdinund erwartet eine Reihe von "Schlüssel=Wert"-Zeilen. Zum Beispiel host=github.com
. So teilt Git dem Helfer mitwelcheAnmeldeinformationen sind erforderlich.
Wenn Sie ein Programm direkt in einem Terminal ausführen, ist sein Standardeingabefeld nur mit der Tastatureingabe verbunden. Nach dem ersten EnterTastendruck läuft das Tool bereits, wartet aber auf eine Tastatureingabe, genau wie Tools wie cat
oder sed
.
Nach dem zweiten Tastendruck wird das Programmliest eine leere Zeileund behandelt es als „Ende der Eingabe“-Indikator, d. h. dass keine weiteren Schlüssel=Wert-Zeilen eingegeben werden. An diesem Punkt durchsucht es den Schlüsselbund und findet den Eintrag, der seiner Meinung nach Ihrem „bereitgestellten“ Filter entspricht.
Antwort2
Das hat bei mir funktioniert: Löschen Ihrer Anmeldeinformationen über die Befehlszeile
$ git credential-osxkeychain erase
host=github.com
protocol=https
> [Press Return]
Wenn es erfolgreich ist, wird nichts ausgegeben. Um zu testen, ob es funktioniert, versuchen Sie, ein privates Repository von GitHub.com zu klonen. Wenn Sie zur Eingabe eines Kennworts aufgefordert werden, wurde der Schlüsselbundeintrag gelöscht.