Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article décrit les problèmes qui peuvent se produire lorsque vous essayez d’effectuer un clone Git ou une fonction Push Git vers un dépôt Azure DevOps.
S’applique à : Azure DevOps Services, Azure DevOps Server
Problèmes lors de l’exécution d’un clone Git ou d’un push Git vers les référentiels Azure DevOps
Lorsque vous essayez de cloner ou d’envoyer (push) un référentiel dans GitHub, certains problèmes liés à la configuration du proxy, au certificat SSL ou au cache d’informations d’identification peuvent entraîner l’échec de l’opération de clonage Git.
Liste de contrôle pour la résolution des problèmes
Pour identifier la cause des problèmes, effectuez les étapes suivantes :
Activez le suivi détaillé pour les commandes Git que vous exécutez.
Définissez les variables suivantes dans la séquence et exécutez les commandes Git pour chaque variable définie pour obtenir plus d’informations sur les erreurs.
GIT_TRACE=1
GIT_TRACE_PACKET=1
GIT_TRACE_CURL_NO_DATA=1
GIT_CURL_VERBOSE=1
Le niveau de traçage défini pour ces variables fournit plus d’informations similaires à l’exemple suivant sur les erreurs qui provoquent un problème :
Pour en savoir plus sur les variables d’environnement Git, consultez Git Internals - Environment Variables.
Cause 1 : Git ne peut pas se connecter via le serveur proxy
Si vous utilisez un serveur proxy mais que la configuration Git n’est pas définie pour vous connecter via le serveur proxy, vous pouvez voir les messages d’erreur 407 ou 502. Ce problème se produit également lorsque la connexion ne peut pas s’établir via le serveur proxy et que vous voyez des erreurs similaires à « Impossible d’accéder à<your github url
> : » ou « Impossible de résoudre l’hôte github.com
».
Solution : configurer Git pour utiliser le serveur proxy
Exécutez git config --list
pour obtenir la liste de toutes les configurations Git sur le système et vérifier si le serveur proxy est en cours d’utilisation.
Si vous voyez plusieurs fichiers de configuration tels que le dépôt ou la racine du système, exécutez la git config --list --show-origin
commande, puis consultez le chemin d’accès à partir duquel Git récupère les informations de configuration.
Si vous ne trouvez pas de serveur proxy dans la liste des configurations, exécutez la git config --global
commande pour définir un serveur proxy dans la configuration.
Par exemple, http.proxy http://proxyUsername:proxyPassword@proxy.server.com:port
.
Pour utiliser un proxy spécifique pour certaines URL, configurez l’URL du proxy dans la sous-section de configuration Git comme http.<url\>.key notation:
dans l’exemple suivant :
git config --global
http.https://domain.com.proxy http://proxyUsername:proxyPassword@proxy.server.com:port
Si le proxy utilise https
, définissez la configuration Git avec https
l’URL du proxy dans l’exemple ci-dessus. Sinon, conservez http
.
Pour plus d’informations sur la configuration Git, consultez la documentation de configuration Git.
Cause 2 : Git utilise un certificat auto-signé local
Si Git utilise un certificat auto-signé local, vous pouvez voir l’erreur « Problème de certificat SSL : impossible d’obtenir un certificat d’émetteur local ».
Solution 1 : Désactiver la vérification TLS/SSL
Si vous avez installé un Team Foundation Server (TFS) local et si vous souhaitez désactiver la vérification TLS/SSL effectuée par Git, exécutez la commande suivante :
git config --global http.sslVerify false
Solution 2 : Configurer les certificats auto-signés dans Git
Si vous souhaitez poursuivre la vérification TLS/SSL effectuée par Git, procédez comme suit pour ajouter le certificat racine dans git local :
Exportez le certificat racine en tant que X.509 codé en base 64 (. Fichier CER) en procédant comme suit :
Ouvrez le navigateur Microsoft Edge et entrez l’URL de votre serveur TFS dans la barre d’adresses, par exemple
https://<servername>/tfs
.Dans la barre d’adresses, sélectionnez l’icône
, puis sélectionnez le lien sécurisé de connexion.
Sélectionnez l’icône
pour ouvrir la fenêtre Certification .
Sous l’onglet Chemin de certification, sélectionnez le certificat en haut à gauche, qui est le certificat racine.
Sélectionnez Afficher le certificat pour ouvrir la fenêtre Certificat pour le certificat racine.
Sous l’onglet Détails , sélectionnez Copier dans fichier... .
Dans l’Assistant Exportation de certificat, sélectionnez Suivant, puis encodé en base 64 X.509 (. Format de fichier CER à exporter.
Enregistrez le certificat racine sur le disque local.
Configurez Git pour utiliser un répertoire local pour le magasin de certificats Git en procédant comme suit :
Accédez au chemin C :\Program Files\Git\bin sur votre disque local, puis effectuez une copie du fichier curl-ca-bundle.crt .
Note
- Lorsque vous installez Git pour Windows (
msysgit
) sur votre appareil, un fichier curl-ca-bundle.crt est stocké dans votre répertoire Program Files. Ce fichier est le magasin de certificats racine pour git.exe qui contient tous les certificats approuvés par Git. - Le fichier curl-ca-bundle.crt , qui stocke par appareil, est privé pour votre client Windows local. Le fichier texte comporte des fin de ligne UNIX (
\n
). - Dans la série Git pour Windows 2.x, le chemin d’accès passe à C :\Program Files (x86)\Git\mingw32\ssl\certs\ca-bundle.crt ou C :\Program Files\Git\mingw64\ssl\certs\ca-bundle.crt. Si vous utilisez un client Windows 32 bits, vous pouvez corriger le chemin du dossier de sorte que la partie Program Files n’apparaît pas avec x86.
- Lorsque vous installez Git pour Windows (
Copiez le fichier curl-ca-bundle.crt dans votre répertoire de profil utilisateur (C :\Users\<yourname>). Ou exécutez une commande de copie similaire à l’exemple
copy "C:\Program Files (x86)\Git\bin\curl-ca-bundle.crt" C:\Users\<yourname>
.Exécutez la commande suivante pour configurer Git pour utiliser la copie locale du magasin de certificats à partir de votre client Windows :
git config --global http.sslCAInfo C:/Users/<yourname>/curl-ca-bundle.crt
Ajoutez le certificat racine exporté à la copie locale du magasin de certificats Git en procédant comme suit :
Ouvrez le certificat racine exporté dans le Bloc-notes, puis copiez tout le contenu dans le Presse-papiers.
Ouvrez le fichier curl-ca-bundle.crt en accédant au chemin C :/Users/<yourname>/curl-ca-bundle.crt dans un éditeur de texte.
Conseil
Vous pouvez utiliser l’outil unix2dos pour modifier les fin de ligne s du fichier de \n à \r\n et être en mesure d’ouvrir le fichier dans le Bloc-notes.
Ajoutez une entrée pour le certificat racine à la fin, puis collez le contenu du certificat dans le fichier curl-ca-bundle.crt .
Enregistrez le fichier curl-ca-bundle.crt .
Effectuez l’opération de clonage pour vérifier si l’erreur SSL est résolue.
Cause 3 : Erreurs d’authentification ou problèmes de cache d’informations d’identification
Si le nom de votre compte ou votre mot de passe de domaine a changé, ou si vous obtenez une erreur d’authentification, il peut y avoir un problème d’authentification et de cache d’informations d’identification.
Solution : Réinitialiser le gestionnaire d’informations d’identification Git (GCM)
Pour résoudre les problèmes liés à l’erreur d’authentification ou au cache des informations d’identification, commencez par suivre la liste de contrôle de résolution des problèmes pour obtenir les informations d’erreur, puis procédez comme suit :
- Exécutez la
git config --list
commande, puis vérifiez si vous utilisez Git Credentials Manager (GCM). Si lecredential.helper
gestionnaire est défini, GCM est en cours d’utilisation. - Réinitialisez le GCM en procédant comme suit :
- Exécutez la
git config --global --unset credential.helper
commande pour annuler l’ensemble du GCM. - Exécutez la
git config credential.helper manager
commande pour réactiver le GCM. Vous pouvez également suivre ces étapes pour supprimer d’abord le cache des informations d’identification :- Lorsque vous n’avez pas défini, recherchez le Gestionnaire d’informations d’identification dans la recherche Windows, sélectionnez Ouvrir, puis supprimez les informations d’identification correspondant à un référentiel Git.
- Accédez au chemin %localappdata%/GitCredentialManager , puis supprimez le fichier tenant.cache .
- Rétablissez le GCM en exécutant la
git config credential.helper manager
commande.
- Exécutez la
- Effectuez l’opération de clonage pour vérifier si le problème est résolu.
Remarque : Selon la version de Git pour Windows, la credential.helper
valeur serait différente. Pour plus de détails, consultez le tableau suivant :
Versions de Git pour Windows | GIT Credential Manager pour Windows | Base du Gestionnaire d’informations d’identification Git | Gestionnaire d’informations d’identification Git (renommé de GCM Core) |
---|---|---|---|
2.27 et versions antérieures | manager |
||
2.28 à 2.33.0 | manager (facultatif) |
manager-core (facultatif) |
|
2.33.1 à 2.34.0 | manager-core |
||
2.34.1 à 2.38 | manager-core |
||
2.39 et versions ultérieures | manager |