Comandos de Git

git clone

git clone: clona un repositorio remoto en un directorio nuevo.

El comando git clone se usa para crear una copia local de un repositorio Git remoto. Crea un directorio nuevo, inicializa dentro un repositorio Git y copia todo el contenido del repositorio remoto de origen. Este comando también configura ramas de seguimiento remoto para cada rama del repositorio clonado, y crea y deja activa una rama inicial basada en la rama que esté activa en ese momento en el repositorio remoto.

Cuando clonas un repositorio, Git crea automáticamente una conexión con el repositorio remoto original. Eso te permite sincronizar fácilmente tu copia local con cualquier actualización hecha en el remoto. Esta conexión remota suele llamarse origin.

git clone es esencial cuando quieres contribuir a proyectos remotos existentes, colaborar con otras personas en GitHub, GitLab u otros servicios de alojamiento Git, o simplemente crear una copia de seguridad local de un repositorio remoto. Después de clonar, tienes acceso completo a todo el historial del proyecto y a todas sus ramas, y puedes trabajar de forma independiente sin afectar al repositorio remoto hasta que decidas enviar tus cambios.

Aunque git clone se usa sobre todo con repositorios remotos, técnicamente también puede usarse para clonar repositorios locales. Por ejemplo:

git clone /path/to/local/repository new-copy

Sin embargo, este caso rara vez hace falta en la práctica. Si solo quieres hacer una copia de un repositorio local, normalmente te conviene más crear un repositorio nuevo y copiar los archivos, o usar herramientas como git worktree si necesitas trabajar en varios directorios dentro del mismo repositorio.

Ejemplos

Clonar un repositorio desde GitHub a tu ordenador local:

git clone https://github.com/username/repository.git

Clonar un repositorio en un directorio concreto:

git clone https://github.com/username/repository.git my-project

Clonar un repositorio con una rama concreta y sin descargar todo el historial, lo que se llama clon superficial (shallow clone):

git clone --branch develop --depth 1 https://github.com/username/repository.git

Clonar un repositorio con todos sus submódulos:

git clone --recursive https://github.com/username/repository.git