git clone
Copia un repositorio en una carpeta nueva
El comando 'git clone' descarga un repositorio — cada commit, rama y tag — en una carpeta nueva, extrae su rama por defecto y recuerda la dirección como el remoto llamado origin. Tu main sigue a origin/main, así que git pull y git push funcionan de inmediato. Con --depth solo descargas los commits más recientes.
Sinopsis
git clone [<options>] <repository> [<directory>]Opciones
Elegir la opción adecuada
Completo frente a superficial
Qué se descarga
| Comando | Historial | Ideal para |
|---|---|---|
git clone <url> | Todo | Trabajo diario |
git clone --depth 1 <url> | Solo el último commit | Builds de CI, un vistazo rápido |
Ejemplos
Clonar por SSH
git clone git@github.com:acme/shop.gitCrea la carpeta shop.
Clonar por HTTPS
git clone https://github.com/acme/shop.gitLo mismo, por HTTPS.
Elegir el nombre de la carpeta
git clone git@github.com:acme/shop.git my-shopClona en my-shop.
Clon superficial
git clone --depth 1 git@github.com:acme/shop.gitSolo el último commit.
Ejemplos de flujos de trabajo
git clone git@github.com:acme/shop.gitDescargarlo
cd shopEntrar
git switch -c feature/searchEmpezar tu trabajo
Solución de problemas
Permission denied (publickey)
Causa: Tu clave SSH no está configurada en GitHub
Añade tu clave a GitHub, o clona con la URL HTTPS
fatal: destination path 'shop' already exists
Causa: Ya existe una carpeta con ese nombre
Elige otro nombre de carpeta como segundo argumento
Repository not found
Causa: URL incorrecta o sin acceso
Comprueba la URL y tus permisos
Consejos y trampas
Buenas prácticas
- ✓Usa URL SSH si subes a menudo.
- ✓Usa --depth 1 en los pipelines de CI.
Errores comunes
- ✗Olvidar hacer cd a la carpeta nueva antes de ejecutar comandos git.
- ✗Clonar dentro de otro repositorio.
- ✗Clonar de nuevo para actualizar — eso lo hace git pull.
Preguntas frecuentes
Sí, como ramas de seguimiento remoto (origin/…). Cambiarte a una crea la rama local.
git fetch --unshallow.