
Ich verwende eine Maschine mit Windows 10, habe den Entwicklermodus aktiviert und das Linux-Subsystem installiert. Wenn ich zu Bash wechsle, versuche ich, einen einfachen Klonbefehl von Git aus auszuführen:
git clone https://github.com/PrivateRepo/my-private-repo.git
Natürlich habe ich die URL hier ein wenig bereinigt, aber Sie verstehen, was ich meine. Die Antwort, die ich zunächst auf diesen Befehl erhielt, war folgende:
fatal: Zugriff nicht möglich 'https://github.com/PrivateRepo/my-private-repo.git/': Überprüfung des Serverzertifikats fehlgeschlagen. CA-Datei: /etc/ssl/certs/ca-certificates.crt CRL-Datei: keine
Ich habe ein paar Stack Overflow-Antworten gesehen, die darüber sprechen, aber um ehrlich zu sein, kenne ich dierichtigMöglichkeit, mit diesem Fehler umzugehen. Allerdings kenne ich eine falsche Möglichkeit, den Fehler komplett zu umgehen, indem man den folgenden Befehl ausführt:
git config --global http.sslverify false
Und das scheint zu funktionieren. Es ist wahrscheinlich schlecht, dass ich alle SSL-Verifizierungen deaktiviere, aber ich muss das zum Laufen bringen, und das ist nicht wirklich der Sinn dieser Frage (auf die ich gleich hinaus will). Aber nebenbei bemerkt, wenn Sie wissen, wie man das richtig behebt, bin ich ganz Ohr.
Als nächstes habe ich meinen Befehl erneut ausgeführt git clone
. Dieses Mal wurde ich zur Eingabe eines Benutzernamens und Passworts aufgefordert, aber letztendlich schlug der Befehl aus einem anderen Grund fehl. So sah es aus:
git clone https://github.com/PrivateRepo/my-private-repo.git
Cloning into 'my-private-repo'...
Username for 'https://github.com': myuser
Password for 'https://[email protected]':
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/PrivateRepo/my-private-repo.git'
Ich kann Ihnen jedoch versichern, dass der von mir eingegebene Benutzername und das Passwort korrekt waren. Ich habe auch Git für Windows installiert, und als ich es dort ausprobiert habe, hat alles funktioniert. Die einzige Einschränkung war, dass anstatt mich in der Befehlszeile nach einem Passwort zu fragen, ein separates Fenster zur Eingabe der Anmeldeinformationen geöffnet wurde und ich dort auch nach meinem sechsstelligen 2FA-Code gefragt wurde. Dann wurde es problemlos geklont. Mir ist aufgefallen, dass dabei ein persönlicher Zugriffstoken in Github erstellt wurde. Also habe ich einen weiteren persönlichen Zugriffstoken erstellt und versucht, ihn manuell in Bash zu verwenden. Im Grunde habe myuser
ich statt des Benutzernamens Folgendes eingegeben:myuser:mytoken
git clone https://github.com/PrivateRepo/my-private-repo.git
Cloning into 'my-private-repo'...
Username for 'https://github.com': myuser:a1abcdefab2a34567ab8901a2bc3d4567890a1b2
Password for 'https://myuser:[email protected]':
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/PrivateRepo/my-private-repo.git'
Aber wie Sie sehen, ist es trotzdem fehlgeschlagen. Wie bekomme ich Git in Bash unter Windows zum Laufen?
Antwort1
Sie verwenden die Implementierung von git
auf Ihrer aktuell laufenden Linux-Distribution, die Sie wahrscheinlich nicht eingerichtet haben. Versuchen Sie git.exe
stattdessen Folgendes:
git.exe clone https://github.com/PrivateRepo/my-private-repo.git
Sie können alias
den Befehl in Ihrem verwenden .bashrc
:
alias git='git.exe'
Antwort2
Sie müssen nur Ihren Benutzernamen verwenden und dann anstelle Ihres Passworts Ihren Zugriffstoken. Ihr Passwort benötigen Sie nicht, da es durch den Token ersetzt wird.