Compartir a través de


Solución de problemas cuando el clon o la inserción de Git no se pueden realizar en un repositorio de Azure DevOps

En este artículo se describen los problemas que pueden producirse al intentar realizar la función de inserción de Git o clonación de Git en un repositorio de Azure DevOps.

Se aplica a: Azure DevOps Services, Azure DevOps Server

Problemas al realizar la clonación de Git o la inserción de Git en los repositorios de Azure DevOps

Al intentar clonar o insertar un repositorio en GitHub, algunos problemas con la configuración del proxy, el certificado SSL o la caché de credenciales podrían provocar un error en la operación de clonación de Git.

Lista de comprobación de solución de problemas

Para identificar la causa de los problemas, siga estos pasos:

  1. Habilite el seguimiento detallado para establecer el nivel detallado de seguimiento para los comandos de Git que está ejecutando.

  2. Establezca las siguientes variables en secuencia y ejecute los comandos de Git para cada variable establecida para obtener más información sobre los errores.

    • GIT_TRACE=1
    • GIT_TRACE_PACKET=1
    • GIT_TRACE_CURL_NO_DATA=1
    • GIT_CURL_VERBOSE=1

El nivel de seguimiento establecido para estas variables proporciona más información similar al ejemplo siguiente sobre los errores que provocan un problema:

La información de error de clonación de Git mediante la ejecución de comandos en modo detallado.

Para más información sobre las variables de entorno de Git, consulte Git Internals - Environment Variables( Variables de entorno de Git).

Causa 1: Git no se puede conectar a través del servidor proxy

Si usa un servidor proxy, pero la configuración de Git no está establecida para conectarse a través del servidor proxy, es posible que vea los mensajes de error 407 o 502. Este problema también se produce cuando la conexión no se puede establecer a través del servidor proxy y aparecen errores similares a "no se puede acceder a <your github url>:" o "no se pudo resolver el host github.com".

Solución: Configuración de Git para usar el servidor proxy

Ejecute git config --list para obtener una lista de toda la configuración de Git en el sistema y compruebe si el servidor proxy está en uso.

Si ve varios archivos de configuración, como el repositorio o la raíz del sistema, ejecute el git config --list --show-origin comando y, a continuación, vea la ruta de acceso desde donde Git recupera la información de configuración.

Si no encuentra un servidor proxy en la lista de configuraciones, ejecute el git config --global comando para establecer un servidor proxy en la configuración.

Por ejemplo, http.proxy http://proxyUsername:proxyPassword@proxy.server.com:port.

Para usar un proxy específico para algunas de las direcciones URL, configure la dirección URL del proxy en la subsección de configuración de Git como http.<url\>.key notation: similar al ejemplo siguiente:

git config --global http.https://domain.com.proxy http://proxyUsername:proxyPassword@proxy.server.com:port

Si el proxy usa https, establezca la configuración de Git con https la dirección URL del proxy en el ejemplo anterior. De lo contrario, mantenga http.

Para más información sobre la configuración de Git, consulte Documentación de configuración de Git.

Causa 2: Git usa un certificado autofirmado local

Si Git usa un certificado autofirmado local, es posible que vea el error "problema del certificado SSL: no se puede obtener el certificado del emisor local".

Solución 1: Deshabilitar la comprobación tls/SSL

Si ha instalado una instancia local de Team Foundation Server (TFS) y si desea deshabilitar la comprobación tls/SSL que realiza Git, ejecute el siguiente comando:

git config --global http.sslVerify false

Solución 2: Configuración de los certificados autofirmados en Git

Si desea continuar con la comprobación de TLS/SSL que git realiza, siga estos pasos para agregar el certificado raíz en el Git local:

  1. Exporte el certificado raíz como X.509 codificado en Base 64 (. CER) siguiendo estos pasos:

    1. Abra el explorador Microsoft Edge y escriba la dirección URL del servidor TFS en la barra de direcciones, como https://<servername>/tfs.

    2. En la barra de direcciones, seleccione el icono y, a continuación, seleccione el vínculo Conexión es seguro .

    3. Seleccione el icono para abrir la ventana Certificación .

    4. En la pestaña Ruta de certificación, seleccione el certificado superior izquierdo, que es el certificado raíz.

      Seleccione la pestaña Ruta de certificación en la ventana Certificación.

    5. Seleccione Ver certificado para abrir la ventana Certificado para el certificado raíz.

    6. En la pestaña Detalles , seleccione Copiar en archivo... .

      Seleccione la pestaña Detalles en la ventana Certificación.

    7. En el Asistente para exportación de certificados, seleccione Siguiente y, a continuación, seleccione X.509 codificado en Base 64 (. CER) formato de archivo que se va a exportar.

      Selección del formato de archivo en el Asistente para exportación de certificados.

    8. Guarde el certificado raíz en el disco local.

  2. Configure Git para usar el directorio local para el almacén de certificados de Git siguiendo estos pasos:

    1. Vaya a la ruta de acceso C:\Program Files\Git\bin en el disco local y, a continuación, realice una copia del archivo curl-ca-bundle.crt .

      Nota:

      • Al instalar Git para Windows (msysgit) en el dispositivo, se almacena un archivo curl-ca-bundle.crt en el directorio Archivos de programa. Este archivo es el almacén de certificados raíz de git.exe que contiene todos los certificados que git confía.
      • El archivo curl-ca-bundle.crt , que se almacena por dispositivo, es privado para el cliente local de Windows. El archivo de texto tiene finales de línea UNIX (\n).
      • En la serie Git para Windows 2.x, la ruta de acceso cambiará a C:\Archivos de programa (x86)\Git\mingw32\ssl\certs\ca-bundle.crt o C:\Archivos de programa\Git\mingw64\ssl\certs\ca-bundle.crt. Si usa un cliente de Windows de 32 bits, puede corregir la ruta de acceso de la carpeta de modo que la parte Archivos de programa no aparezca con x86.
    2. Copie el archivo curl-ca-bundle.crt en el directorio del perfil de usuario (C:\Users\<yourname>). O bien, ejecute un comando de copia similar al copy "C:\Program Files (x86)\Git\bin\curl-ca-bundle.crt" C:\Users\<yourname> ejemplo.

    3. Ejecute el siguiente comando para configurar Git para usar la copia local del almacén de certificados desde el cliente de Windows:

      git config --global http.sslCAInfo C:/Users/<yourname>/curl-ca-bundle.crt

  3. Agregue el certificado raíz exportado a la copia local del almacén de certificados de Git siguiendo estos pasos:

    1. Abra el certificado raíz exportado en el Bloc de notas y, a continuación, copie todo el contenido en el Portapapeles.

    2. Abra el archivo curl-ca-bundle.crt ; para ello, vaya a la ruta de acceso C:/Users/<yourname>/curl-ca-bundle.crt en un editor de texto.

      Sugerencia

      Puede usar la herramienta unix2dos para cambiar los finales de línea del archivo de \n a \r\n y poder abrir el archivo en el Bloc de notas.

    3. Agregue una entrada para el certificado raíz al final y pegue el contenido del certificado en el archivo curl-ca-bundle.crt .

    4. Guarde el archivo curl-ca-bundle.crt .

    5. Realice la operación de clonación para comprobar si se ha resuelto el error SSL.

Causa 3: Problemas de caché de credenciales o errores de autenticación

Si ha cambiado el nombre de la cuenta o la contraseña de dominio, o si recibe un error de autenticación, podría haber un problema de autenticación y de la caché de credenciales.

Solución: Restablecimiento del administrador de credenciales de Git (GCM)

Para resolver los problemas de caché de credenciales o errores de autenticación, siga la lista de comprobación de solución de problemas para obtener la información de error y siga estos pasos:

  1. Ejecute el git config --list comando y compruebe si usa el Administrador de credenciales de Git (GCM). Si se establece en credential.helper el administrador, GCM está en uso.
  2. Restablezca el GCM siguiendo estos pasos:
    1. Ejecute el git config --global --unset credential.helper comando para anular el GCM.
    2. Ejecute el git config credential.helper manager comando para volver a establecer el GCM. Como alternativa, siga estos pasos para eliminar primero la memoria caché de credenciales:
      1. Cuando no se establece, busque Administrador de credenciales en la búsqueda de Windows, seleccione Abrir y, a continuación, quite todas las credenciales que sean para un repositorio de Git.
      2. Vaya a %localappdata%/GitCredentialManager path (Ruta de acceso de GitCredentialManager ) y elimine el archivo tenant.cache .
      3. Vuelva a establecer el GCM ejecutando el git config credential.helper manager comando .
  3. Realice la operación de clonación para comprobar si se ha resuelto el problema.

Nota: Dependiendo de la versión de Git para Windows, el credential.helper valor sería diferente. Consulte la tabla siguiente para más detalles:

Versiones de Git para Windows Administrador de credenciales de Git para Windows Git Credential Manager Core Administrador de credenciales de Git (se ha cambiado el nombre de GCM Core)
2.27 y versiones anteriores manager
De 2.28 a 2.33.0 manager (opcional) manager-core(opcional)
2.33.1 a 2.34.0 manager-core
2.34.1 a 2.38 manager-core
2.39 y versiones posteriores manager