Crear una copia de un repository remoto en Git con git clone


Lección 15 / 53

Crear una copia de un repository remoto en Git con git clone

Git Guía Git Guía Git español

git clone es el comando que se utiliza para crear una copia o clonación de un repository ya existente, en particular disponible a través de una conexión de red.

La clonación de un repository remoto en la máquina local es una operación única; una vez realizada la copia local, ya no es necesario ejecutar git clone (veremos más adelante cómo recuperar los nuevos cambios subidos por otros).

En su versión más simple, el comando git clone requiere que se proporcione la URL del repository:

git clone <URL>

La URL se puede indicar en diferentes formatos, dependiendo del protocolo ofrecido por el servidor que aloja el repository remoto, en particular:

  • SSH - ssh://[user@]host.xz[:port]/path/to/repo.git/
  • HTTP - http[s]://host.xz[:port]/path/to/repo.git/
  • GIT - git://host.xz[:port]/path/to/repo.git/
     

En general, dependiendo del servidor que aloje el repository remoto, estarán disponibles uno o más protocolos y deberá autenticarse o proporcionar las credenciales necesarias.

A modo de ejemplo, si consideramos un repository alojado en el famoso servicio GitHub es posible:

  • clonar un repository público con la url HTTP, p.e. git clone https://github.com/php/php-src.git: de esta manera se obtiene una copia "read only", y no será posible enviar eventuales cambios
  • clonar un repository privado con la url HTTP: en este caso se pedirá añadir el propio username y la propia password, será posible "escribir" en el repository remoto
  • clonar un repository privado con la url GIT: en este caso será necesario haber configurado primero en GitHub las propias credenciales SSH (claves públicas), obviamente será posible "escribir" en el repository remoto

Una vez completado, el comando git clone habrá creado en el directory actual un directory que aloja el clon del repository remoto y habrá creado una conexión llamada origin que apunta al repository remoto original. Esa conexión será utilizada por otros comandos para enviar y recibir nuevos cambios desde el repository remoto.

Algunos interruptores útiles para usar con el comando git clone son:

  • clonar es una específica directory (útil también para dar un específico nombre al propio clone locale)
    git clone <URL> <DIRECTORY>
    
  • clonar solo una parte de la history de los commit - en este caso la copia locale se llama shallow clone - por ejemplo solo los últimos 10 commit:
    git clone --depth=10 <URL>
  • clonar solo un específico branch presente en el repository remoto:
    git clone --single-branch --branch <NAME> <URL>
    
Guía Git en español 1 ¿Qué es Git? 2 Nacimiento de Git 3 Principales características de Git 4 Línea de comando UI en Git 5 Cómo instalar Git 6 5 comandos Git para desarrolladores individuales 7 5 comandos Git para desarrollar en colaboración 8 Repository en Git 9 Commit en Git 10 Working Copy en Git 11 Staging Area en Git 12 Branch en Git 13 Remote en Git 14 Inicializar un nuevo repository con git init 15 Crear una copia de un repository remoto en Git con git clone 16 Configurar las opciones de Git con git config 17 El comando Git add en Git 18 El comando Git commit en Git 19 El comando Git diff en Git 20 El comando Git stash en Git 21 .gitignore : los archivos ignored en Git 22 El comando Git status en Git 23 El comando Git log en Git 24 El comando Git tag en Git 25 El comando Git blame en Git 26 El comando Git checkout en Git 27 El comando Git revert en Git 28 El comando Git reset en Git 29 El comando Git rm en Git 30 La opción Git commit –amend en Git 31 Git rebase –interactive en Git 32 Atajos para comandos frecuentes en Git 33 Repository compartido en Git 34 El modelo Fork & pull 35 El comando Git remote en Git 36 Los principales repository remote de Git: Github, Gitlab y Bitbucket 37 El comando Git fetch en Git 38 El comando Git push en Git 39 El comando Git pull en Git 40 El comando Git branch en Git 41 El comando Git checkout en Git 42 El comando Git merge en Git 43 Resolver un merge conflict en Git 44 Entender mejor el contenido de los commit durante un conflicto de merge en Git 45 Workflow Git centralizado 46 Workflow Git feature branching 47 Workflow Git trunk-based 48 Enfoque “forking” en Git 49 Gitflow en Git 50 Mensajes de commit en Git 51 Tagging & Versioning en Git 52 La opción merge en Git 53 La opción rebase en Git

© 2022 Aulab. Todos los derechos reservados • P.IVA: IT07647440721 • Política de privacidad