Skip to main content

Solucionar los errores de clonado

Si estás teniendo problemas para clonar un repositorio, verifica estos errores comunes.

Errores de clonación de HTTPS

Existen algunos errores comunes cuando se utiliza HTTPS con Git. Estos errores suelen indicar que tienes una versión antigua de Git o que no tienes acceso al repositorio.

Aquí aparece un ejemplo de un error de HTTPS que puedes recibir:

> error: The requested URL returned error: 401 while accessing
> https://HOSTNAME/USER/REPO.git/info/refs?service=git-receive-pack
> fatal: HTTP request failed
> Error: The requested URL returned error: 403 while accessing
> https://HOSTNAME/USER/REPO.git/info/refs
> fatal: HTTP request failed
> Error: https://HOSTNAME/USER/REPO.git/info/refs not found: did you run git
> update-server-info on the server?

Comprueba tu versión de Git

No hay ninguna versión mínima de Git necesaria para interactuar con GitHub, pero hemos encontrado que la versión 1.7.10 es una versión estable cómoda que está disponible en muchas plataformas. Siempre puede descargar la versión más reciente en el sitio web de Git.

Asegúrate de que el remoto sea correcto

El repositorio que intenta capturar debe existir en tu instancia de GitHub Enterprise Server.

Para encontrar la dirección URL del repositorio local, abra la línea de comandos y escriba git remote -v:

$ git remote -v
# View existing remotes
> origin  https://github.com/ghost/cocoareactive.git (fetch)
> origin  https://github.com/ghost/cocoareactive.git (push)

$ git remote set-url origin https://github.com/ghost/ReactiveCocoa.git
# Change the 'origin' remote's URL

$ git remote -v
# Verify new remote URL
> origin  https://github.com/ghost/ReactiveCocoa.git (fetch)
> origin  https://github.com/ghost/ReactiveCocoa.git (push)

Como alternativa, puede cambiar la dirección URL a través de nuestra GitHub Desktop aplicación.

Proporciona un token de acceso

Para acceder a GitHub, debe autenticarse con personal access token en lugar de su contraseña. Para más información, consulta Administración de tokens de acceso personal.

Comprobar los permisos

Cuando se te solicite un nombre de usuario y contraseña, asegúrate de usar una cuenta que tenga acceso al repositorio.

Sugerencia

Si no deseas escribir tus credenciales cada vez que interactúes con el repositorio remoto, puedes activar el almacenamiento en caché de credenciales. Si ya estás utilizando el almacenamiento de credenciales en caché, por favor, asegúrate de que tu computadora tenga las credenciales correctas almacenadas en caché. Las credenciales erróneas o desactualizadas causarán que falle la autenticación.

Usa SSH en su lugar

Si ya has configurado claves SSH, puedes usar la URL de clonación SSH en lugar de HTTPS. Para más información, consulta Acerca de los repositorios remotos.

Error: Repositorio no encontrado

Si ve este error al clonar un repositorio, significa que el repositorio no existe, no tiene permiso para acceder a él o tu instancia de GitHub Enterprise Server está en modo privado. Hay algunas soluciones para este error, dependiendo de la causa.

Revise la ortografía

Los errores tipográficos ocurren. Si intenta clonar git@HOSTNAME:owner/repotile.git, pero el repositorio se denomina owner/repoti1e, aparecerá este error.

Para evitar este error, cuando clonas, copia y pega siempre la URL del clon desde la página del repositorio. Para más información, consulta Clonar un repositorio.

Para actualizar el repositorio distante en un repositorio existente, consulta Administrar repositorios remotos.

Comprobar tus permisos

Si estás tratando de clonar un repositorio privado pero no tienes permiso para ver el repositorio, recibirás este error.

Verifica si tienes acceso al repositorio de alguna de las siguientes maneras:

  • El propietario del repositorio
  • Un colaborador en el repositorio
  • Un miembro de un equipo que tenga acceso al repositorio (si el repositorio pertenece a una organización)

Comprueba tu acceso SSH

En muy raros casos, es posible que no tengas el acceso SSH correcto al repositorio.

Debe asegurarse de que la clave SSH que está usando está asociada a su cuenta personal en GitHub. Para comprobarlo, escriba lo siguiente en la línea de comandos:

$ ssh -T git@HOSTNAME
> Hi USERNAME! You've successfully authenticated, but GitHub does not
> provide shell access.

Para obtener más información, consulte Agregar una nueva clave SSH a la cuenta de GitHub.

Comprueba si tu instancia se encuentra en el modo privado

Si el administrador del sitio ha habilitado el modo privado en la instancia de GitHub Enterprise, se deshabilitarán los clones anónimos a través de git://. Si no puedes clonar un repositorio, comunícate con el administrador de tu sitio.

Comprueba que el repositorio realmente exista

Si se produce un error en todo lo demás, asegúrese de que el repositorio existe realmente en tu instancia de GitHub Enterprise Server! Si estás intentando subir a un repositorio que no existe, se producirá este error.

Error: HEAD remoto remite a una referencia que no existe, imposible de controlar

Este error se produce si se ha eliminado la rama predeterminada de un repositorio en tu instancia de GitHub Enterprise Server.

Es muy fácil detectar este error; Git te dará una advertencia cuando intentes clonar el repositorio:

$ git clone https://HOSTNAME/USER/REPO.git
# Clone a repo
> Cloning into 'repo'...
> remote: Counting objects: 66179, done.
> remote: Compressing objects: 100% (15587/15587), done.
> remote: Total 66179 (delta 46985), reused 65596 (delta 46402)
> Receiving objects: 100% (66179/66179), 51.66 MiB | 667 KiB/s, done.
> Resolving deltas: 100% (46985/46985), done.
> warning: remote HEAD refers to nonexistent ref, unable to checkout.

Para corregir el error, deberá ser administrador del repositorio en tu instancia de GitHub Enterprise Server. Le recomendamos cambiar la rama predeterminada del repositorio.

Luego de hacerlo, puedes obtener una lista de todas las ramas disponibles en la línea de comando:

$ git branch -a
# Lists ALL the branches
>   remotes/origin/awesome
>   remotes/origin/more-work
>   remotes/origin/new-main

Luego, puedes pasar a tu nueva rama:

$ git checkout new-main
# Create and checkout a tracking branch
> Branch new-main set up to track remote branch new-main from origin.
> Switched to a new branch 'new-main'