Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel werden Probleme erläutert, die auftreten können, wenn Sie versuchen, Git-Klon- oder Git-Pushfunktion an ein Azure DevOps-Repository auszuführen.
Gilt für: Azure DevOps Services, Azure DevOps Server
Probleme beim Ausführen eines Git-Klons oder Git-Pushs an die Azure DevOps-Repositorys
Wenn Sie versuchen, ein Repository in GitHub zu klonen oder zu pushen, können einige Probleme mit der Proxykonfiguration, dem SSL-Zertifikat oder dem Anmeldeinformationscache dazu führen, dass der Git-Klonvorgang fehlschlägt.
Checkliste zur Problembehandlung
Führen Sie die folgenden Schritte aus, um die Ursache der Probleme zu ermitteln:
Aktivieren Sie die ausführliche Ablaufverfolgung, um das Ausmaß der ausführlichen Ablaufverfolgung für die von Ihnen ausgeführten Git-Befehle festzulegen.
Legen Sie die folgenden Variablen in Sequenz fest, und führen Sie die Git-Befehle für jede Setvariable aus, um weitere Informationen zu den Fehlern zu erhalten.
GIT_TRACE=1
GIT_TRACE_PACKET=1
GIT_TRACE_CURL_NO_DATA=1
GIT_CURL_VERBOSE=1
Die Ebene der Ablaufverfolgung für diese Variablen enthält weitere Informationen ähnlich wie das folgende Beispiel zu den Fehlern, die ein Problem verursachen:
Weitere Informationen zu Git-Umgebungsvariablen finden Sie unter Git Internals – Umgebungsvariablen.
Ursache 1: Git kann keine Verbindung über den Proxyserver herstellen
Wenn Sie einen Proxyserver verwenden, die Git-Konfiguration jedoch nicht für die Verbindung über den Proxyserver festgelegt ist, werden möglicherweise die Fehlermeldungen 407 oder 502 angezeigt. Dieses Problem tritt auch auf, wenn die Verbindung nicht über den Proxyserver hergestellt werden kann und Fehler wie „Zugriff auf <your github url
> nicht möglich:“ oder „Host github.com
konnte nicht aufgelöst werden“ angezeigt werden.
Lösung: Konfigurieren von Git für die Verwendung des Proxyservers
Führen Sie die Ausführung git config --list
aus, um eine Liste aller Git-Konfigurationen auf dem System abzurufen, und überprüfen Sie, ob der Proxyserver verwendet wird.
Wenn mehrere Konfigurationsdateien wie Repository oder Systemstamm angezeigt werden, führen Sie den git config --list --show-origin
Befehl aus, und sehen Sie dann den Pfad, von dem Git die Konfigurationsinformationen abruft.
Wenn Sie in der Konfigurationsliste keinen Proxyserver finden, führen Sie den git config --global
Befehl aus, um einen Proxyserver in der Konfiguration festzulegen.
Beispiel: http.proxy http://proxyUsername:proxyPassword@proxy.server.com:port
.
Um einen bestimmten Proxy für einige URLs zu verwenden, konfigurieren Sie die Proxy-URL in Git-Konfigurationsunterabschnitt wie http.<url\>.key notation:
im folgenden Beispiel:
git config --global
http.https://domain.com.proxy http://proxyUsername:proxyPassword@proxy.server.com:port
Wenn der Proxy verwendet https
wird, legen Sie die Git-Konfiguration mit https
proxy-URL im obigen Beispiel fest. Andernfalls behalten Sie http
.
Weitere Informationen zur Git-Konfiguration finden Sie in der Git Config-Dokumentation.
Ursache 2: Git verwendet ein lokales selbstsigniertes Zertifikat
Wenn Git ein lokales selbstsigniertes Zertifikat verwendet, wird möglicherweise der Fehler „SSL-Zertifikatproblem: Das lokale Ausstellerzertifikat kann nicht abgerufen werden“ angezeigt.
Lösung 1: Deaktivieren der TLS/SSL-Überprüfung
Wenn Sie einen lokalen Team Foundation Server (TFS) installiert haben und die von Git ausgeführte TLS/SSL-Überprüfung deaktivieren möchten, führen Sie den folgenden Befehl aus:
git config --global http.sslVerify false
Lösung 2: Konfigurieren der selbstsignierten Zertifikate in Git
Wenn Sie die TLS/SSL-Überprüfung fortsetzen möchten, die Git ausführt, führen Sie die folgenden Schritte aus, um das Stammzertifikat in der lokalen Git hinzuzufügen:
Exportieren Sie das Stammzertifikat als Base-64-codierte X.509 (. CER)-Datei mit den folgenden Schritten:
Öffnen Sie den Microsoft Edge-Browser, und geben Sie die URL Ihres TFS-Servers in der Adressleiste ein, z
https://<servername>/tfs
. B. .Wählen Sie auf der Adressleiste das
Symbol aus, und wählen Sie dann den sicheren Link "Verbindung" aus.
Wählen Sie das
Symbol aus, um das Zertifizierungsfenster zu öffnen.
Wählen Sie auf der Registerkarte "Zertifizierungspfad " das obere linke Zertifikat aus, bei dem es sich um das Stammzertifikat handelt.
Wählen Sie "Zertifikat anzeigen" aus, um das Zertifikatfenster für das Stammzertifikat zu öffnen.
Wählen Sie auf der Registerkarte "Details" die Option "In Datei kopieren" aus.
Wählen Sie im Zertifikatexport-Assistenten "Weiter" und dann "Base-64-codierte X.509" aus (. CER) Dateiformat, das exportiert werden soll.
Speichern Sie das Stammzertifikat auf dem lokalen Datenträger.
Konfigurieren Sie Git so, dass das lokale Verzeichnis für den Speicher für Git-Zertifikate verwendet wird, indem Sie die folgenden Schritte ausführen:
Wechseln Sie zum Pfad "C:\Programme\Git\bin" auf dem lokalen Datenträger, und erstellen Sie dann eine Kopie der Datei "curl-ca-bundle.crt ".
Notiz
- Wenn Sie Git für Windows (
msysgit
) auf Ihrem Gerät installieren, wird eine curl-ca-bundle.crt-Datei im Verzeichnis "Programme" gespeichert. Diese Datei ist der Stammzertifikatspeicher für git.exe, der alle Zertifikate enthält, denen Git vertraut. - Die Datei curl-ca-bundle.crt , die auf Gerätebasis gespeichert wird, ist privat für Ihren lokalen Windows-Client. Die Textdatei hat UNIX(
\n
) Zeilenabschluss s. - In der Git für Windows 2.x-Reihe ändert sich der Pfad zu "C:\Programme (x86)\Git\mingw32\ssl\certs\ca-bundle.crt " oder "C:\Programme\Git\mingw64\ssl\certs\ca-bundle.crt". Wenn Sie einen 32-Bit-Windows-Client verwenden, können Sie den Ordnerpfad so beheben, dass der Teil "Programme" nicht mit x86 angezeigt wird.
- Wenn Sie Git für Windows (
Kopieren Sie die Datei curl-ca-bundle.crt in Ihr Benutzerprofilverzeichnis (C:\Users\<Yourname>). Oder führen Sie einen Kopierbefehl ähnlich dem
copy "C:\Program Files (x86)\Git\bin\curl-ca-bundle.crt" C:\Users\<yourname>
Beispiel aus.Führen Sie den folgenden Befehl aus, um Git so zu konfigurieren, dass eine lokale Kopie des Zertifikatspeichers von Ihrem Windows-Client verwendet wird:
git config --global http.sslCAInfo C:/Users/<yourname>/curl-ca-bundle.crt
Fügen Sie das exportierte Stammzertifikat zur lokalen Kopie des Git-Zertifikatspeichers hinzu, indem Sie die folgenden Schritte ausführen:
Öffnen Sie das exportierte Stammzertifikat im Editor, und kopieren Sie dann den gesamten Inhalt in die Zwischenablage.
Öffnen Sie die Datei curl-ca-bundle.crt, indem Sie den Pfad "C:/Users/yourname>/<curl-ca-bundle.crt" in einem Text-Editor öffnen.
Tipp
Sie können das Unix2dos-Tool verwenden, um die Zeilenabschluss in der Datei von "\n" in "\r\n" zu ändern und die Datei im Editor zu öffnen.
Fügen Sie am Ende einen Eintrag für das Stammzertifikat hinzu, und fügen Sie dann den Zertifikatinhalt in die Datei curl-ca-bundle.crt ein.
Speichern Sie die Datei curl-ca-bundle.crt .
Führen Sie den Klonvorgang aus, um zu überprüfen, ob der SSL-Fehler behoben ist.
Ursache 3: Authentifizierungsfehler oder Cacheprobleme bei Anmeldeinformationen
Wenn sich Ihr Kontoname oder Domänenkennwort geändert hat oder es zu einem Authentifizierungsfehler kommt, kann ein Problem mit der Authentifizierung und dem Anmeldeinformationscache bestehen.
Lösung: Zurücksetzen des Git-Anmeldeinformations-Managers (GCM)
Um die Cacheprobleme mit dem Authentifizierungsfehler oder anmeldeinformationen zu beheben, führen Sie zunächst die Prüfliste zur Problembehandlung aus, um die Fehlerinformationen abzurufen, und führen Sie dann die folgenden Schritte aus:
- Führen Sie den
git config --list
Befehl aus, und überprüfen Sie dann, ob Sie git Credentials Manager (GCM) verwenden. Wenn diecredential.helper
Einstellung auf "Manager" festgelegt ist, wird GCM verwendet. - Setzen Sie das GCM zurück, indem Sie die folgenden Schritte ausführen:
- Führen Sie den
git config --global --unset credential.helper
Befehl aus, um das GCM abzugleichen. - Führen Sie den
git config credential.helper manager
Befehl aus, um den GCM-Zurück festzulegen. Führen Sie alternativ die folgenden Schritte aus, um zuerst den Anmeldeinformationencache zu löschen:- Wenn sie nicht festgelegt ist, suchen Sie in der Windows-Suche nach Anmeldeinformations-Manager , wählen Sie " Öffnen" aus, und entfernen Sie dann alle Anmeldeinformationen für ein Git-Repository.
- Wechseln Sie zu %localappdata%/GitCredentialManager-Pfad , und löschen Sie dann die Datei "tenant.cache" .
- Legen Sie das GCM zurück, indem Sie den
git config credential.helper manager
Befehl ausführen.
- Führen Sie den
- Führen Sie den Klonvorgang aus, um zu überprüfen, ob das Problem behoben ist.
Hinweis: Je nach Der Version von Git für Windows wäre der credential.helper
Wert unterschiedlich. Details finden Sie in der folgenden Tabelle:
Versionen von Git für Windows | Git Credential Manager für Windows | Git Credential Manager Core | Git Credential Manager (umbenannt aus GCM Core) |
---|---|---|---|
2.27 und früher | manager |
||
2.28 bis 2.33.0 | manager (optional) |
manager-core (optional) |
|
2.33.1 bis 2.34.0 | manager-core |
||
2.34.1 bis 2.38 | manager-core |
||
2.39 und höher | manager |