Clonar repositorios desde GitHub
Aprende a clonar repositorios desde GitHub a tu máquina local, entender las diferentes opciones de clonación y resolver problemas comunes durante el proceso.
Cristian Escalante
Última actualización: 27 de abril de 2025
Clonar repositorios desde GitHub
Una vez que tienes una cuenta en GitHub y has explorado algunos repositorios, el siguiente paso es aprender a clonar estos repositorios a tu máquina local para poder trabajar con ellos. Clonar un repositorio significa crear una copia completa del repositorio remoto en tu computadora, incluyendo todo el historial de cambios.
¿Qué significa clonar un repositorio?
Cuando clonas un repositorio de GitHub, estás:
- Descargando una copia completa del repositorio, incluyendo todos los archivos y su historial de cambios
- Configurando automáticamente un remoto llamado "origin" que apunta al repositorio original
- Configurando una rama local que sigue (tracks) la rama principal del repositorio remoto
Esto te permite trabajar con el código localmente, hacer cambios, y luego enviar esos cambios de vuelta al repositorio remoto si tienes permisos para hacerlo.
Métodos para clonar un repositorio
Hay varias formas de clonar un repositorio desde GitHub:
Método 1: Clonar usando HTTPS
Este es el método más común y funciona en casi todos los entornos:
git clone https://github.com/usuario/repositorio.git
Con HTTPS:
- Ventajas: Funciona a través de firewalls, fácil de configurar
- Desventajas: Puede requerir ingresar credenciales frecuentemente (a menos que configures un helper de credenciales)
Método 2: Clonar usando SSH
Si has configurado claves SSH en tu cuenta de GitHub:
git clone git@github.com:usuario/repositorio.git
Con SSH:
- Ventajas: No requiere ingresar contraseñas después de la configuración inicial, más seguro
- Desventajas: Requiere configuración adicional de claves SSH
Método 3: Clonar usando GitHub CLI
Si tienes instalada la interfaz de línea de comandos de GitHub:
gh repo clone usuario/repositorio
Con GitHub CLI:
- Ventajas: Autenticación simplificada, acceso a más funcionalidades de GitHub
- Desventajas: Requiere instalar una herramienta adicional
Pasos para clonar un repositorio desde GitHub
Paso 1: Encontrar el repositorio que quieres clonar
- Navega a GitHub y busca el repositorio que te interesa
- También puedes ir directamente a la URL del repositorio si la conoces:
https://github.com/usuario/repositorio
Paso 2: Obtener la URL del repositorio
- En la página del repositorio, haz clic en el botón verde "Code"
- Selecciona el protocolo que prefieras usar (HTTPS, SSH o GitHub CLI)
- Copia la URL que se muestra
Paso 3: Clonar el repositorio
- Abre tu terminal o línea de comandos
- Navega al directorio donde quieres guardar el repositorio clonado
- Ejecuta el comando git clone con la URL que copiaste:
# Usando HTTPS
git clone https://github.com/usuario/repositorio.git
# O usando SSH
git clone git@github.com:usuario/repositorio.git
Paso 4: Navegar al directorio del repositorio
Una vez completada la clonación, Git creará un nuevo directorio con el nombre del repositorio. Navega a ese directorio:
cd repositorio
Opciones avanzadas de clonación
Clonar una rama específica
Si solo quieres clonar una rama específica del repositorio:
git clone -b nombre-rama https://github.com/usuario/repositorio.git
Clonar con un nombre de directorio diferente
Por defecto, Git crea un directorio con el nombre del repositorio. Si quieres usar un nombre diferente:
git clone https://github.com/usuario/repositorio.git mi-directorio
Clonar de forma superficial (shallow clone)
Si el repositorio es muy grande y solo necesitas los cambios más recientes, puedes hacer un clon superficial:
# Clonar solo el commit más reciente
git clone --depth=1 https://github.com/usuario/repositorio.git
# Clonar solo los últimos N commits
git clone --depth=N https://github.com/usuario/repositorio.git
Clonar sin descargar el historial completo
Si solo te interesa el estado actual del código, sin el historial:
git clone --no-checkout https://github.com/usuario/repositorio.git
cd repositorio
git checkout main
Verificar la configuración después de clonar
Después de clonar un repositorio, es buena idea verificar la configuración:
Ver los remotos configurados
git remote -v
Deberías ver algo como:
origin https://github.com/usuario/repositorio.git (fetch)
origin https://github.com/usuario/repositorio.git (push)
Ver las ramas locales y remotas
# Ver ramas locales
git branch
# Ver todas las ramas (locales y remotas)
git branch -a
Ver la configuración del repositorio
git config --list
Mantener tu clon actualizado
Una vez que has clonado un repositorio, puedes mantenerlo actualizado con los cambios del repositorio remoto:
# Obtener los últimos cambios del repositorio remoto
git pull origin main
O si prefieres un enfoque en dos pasos:
# Descargar los cambios sin integrarlos
git fetch origin
# Ver qué ha cambiado
git log HEAD..origin/main
# Integrar los cambios
git merge origin/main
Clonar repositorios privados
Para clonar repositorios privados, necesitas:
- Tener acceso al repositorio (ser propietario o colaborador)
- Estar autenticado correctamente:
- Con HTTPS: Proporcionar tu nombre de usuario y contraseña o token de acceso personal
- Con SSH: Tener configuradas tus claves SSH correctamente
Si estás usando HTTPS y no quieres ingresar tus credenciales cada vez:
# Almacenar credenciales en caché (temporalmente)
git config --global credential.helper cache
# O almacenarlas permanentemente
git config --global credential.helper store
Solución de problemas comunes
Error: "Repository not found"
Problema: No puedes clonar un repositorio que debería existir.
Solución:
- Verifica que la URL sea correcta
- Asegúrate de tener acceso al repositorio (si es privado)
- Comprueba tu autenticación
Error: "Permission denied (publickey)"
Problema: No puedes clonar usando SSH debido a problemas con las claves.
Solución:
- Verifica que tus claves SSH estén configuradas correctamente
- Asegúrate de que tu clave pública esté añadida a tu cuenta de GitHub
- Prueba la conexión:
ssh -T git@github.com
Error: "fatal: destination path already exists and is not an empty directory"
Problema: Ya existe un directorio con el nombre del repositorio.
Solución:
- Usa un nombre diferente para el directorio:
git clone URL nuevo-nombre
- O elimina/renombra el directorio existente
Repositorio muy grande o conexión lenta
Problema: La clonación tarda demasiado o falla por el tamaño del repositorio.
Solución:
- Usa un clon superficial:
git clone --depth=1 URL
- Clona solo la rama que necesitas:
git clone -b rama URL
- Considera usar Git LFS si el repositorio contiene archivos grandes
Buenas prácticas
1. Organiza tus repositorios clonados
Mantén tus repositorios clonados organizados en directorios específicos según su propósito o proyecto.
2. Documenta los repositorios que clonas
Mantén un registro de qué repositorios has clonado y por qué, especialmente si son muchos.
3. Actualiza regularmente
Mantén tus repositorios clonados actualizados con git pull
regularmente para evitar conflictos grandes.
4. Verifica antes de hacer cambios
Si planeas contribuir, verifica que estás trabajando con la versión más reciente y en la rama correcta.
5. Considera hacer fork primero
Si planeas contribuir a un proyecto en el que no eres colaborador directo, considera hacer fork del repositorio antes de clonarlo.
Clonar vs. Descargar ZIP
GitHub ofrece la opción de descargar un repositorio como archivo ZIP. Esta opción:
- Ventajas: Rápida, no requiere Git instalado, útil para obtener solo los archivos actuales
- Desventajas: No incluye el historial de Git, no configura remotos, no permite enviar cambios fácilmente
En general, clonar es preferible si planeas trabajar con el código y posiblemente contribuir, mientras que descargar ZIP es útil si solo necesitas ver o usar el código una vez.
Conclusión
Clonar repositorios desde GitHub es una habilidad fundamental para cualquier desarrollador que trabaje con Git. Te permite acceder a millones de proyectos de código abierto, contribuir a ellos, y colaborar eficientemente con otros desarrolladores. Dominar las diferentes opciones de clonación y saber solucionar problemas comunes te ayudará a trabajar de manera más eficiente con repositorios remotos.
En la próxima lección, aprenderemos cómo realizar cambios en repositorios clonados y enviarlos de vuelta a GitHub mediante commits y pushes.