git clone
Descripción
El comando git clone crea un clon/copia de un repositorio existente en un nuevo directorio. También se usa para crear ramas de seguimiento remoto para cada rama del repositorio clonado. Es el comando más común que permite a los usuarios obtener una copia de desarrollo de un repositorio central existente.

Uso de git clone
Ante todo, el comando git clone se usa para apuntar a un repositorio existente y clonarlo o copiarlo en un nuevo directorio. Se puede obtener una copia local almacenada en un servidor, accesible en example.com, usando el nombre de usuario SSH x_person, así:
git clone <repo>
git clone ssh://[email protected]/path/to/team-project.git
cd team-project
# You must work on this projectgit clone inicializa un nuevo repositorio Git en la carpeta team-project en tu máquina local y lo llena con el contenido del repositorio central. Después de eso, puedes hacer cd al proyecto para empezar a modificar archivos, confirmar instantáneas e interactuar con otros repositorios.
Clonar en una carpeta determinada
Debes hacer una copia del repositorio en <repo> dentro de la carpeta llamada <directory> en la máquina local.
git clone <repo> <directory>
git clone <repo> <directory>Clonar una etiqueta determinada
Clona el repositorio en <repo> y clona solo la referencia de <tag>.
git clone --branch <tag> <repo>
git clone --branch <tag> <repo>Diferencia entre git init y git clone
git init y git clone suelen confundirse entre sí. Aquí es importante señalar que git init crea un nuevo repositorio local vacío, mientras que git clone copia un repositorio remoto existente a tu máquina local. git clone no requiere que ejecutes primero git init; inicializa automáticamente el repositorio local y configura las ramas de seguimiento remoto.
Opciones de configuración de Git Clone
Las opciones de configuración son las herramientas que necesitas para hacer que Git funcione de la manera que mejor se adapte a ti o a tu equipo. Las más comunes se presentan a continuación:
git clone
--branch<repo>El argumento
--branchespecifica una rama que debe clonarse en lugar de la que indica el HEAD remoto, normalmente la rama master. Además, puedes pasar una etiqueta en lugar de una rama para obtener el mismo efecto. Usando el ejemplo siguiente, tendrás un clon de la ramanew_featuredel repositorio remoto:
git clone --branch <repo>
git clone --branch new_feature git://remoterepository.gitgit clone
--bare<repo>Con el argumento
--barepasado agit clone, tendrás una copia del repositorio remoto creada sin un directorio de trabajo. Así, el repositorio se creará con el historial del proyecto, desde el cual se puede hacer push o pull, pero no editar.git clone
--mirror<repo>El comportamiento del argumento
--barees heredado por--mirror, lo que significa que al pasar el argumento--mirrortambién se aplicará--bare. El argumento--mirrorclonará todas las referencias extendidas del repositorio remoto. También te permitirá mantener una configuración de seguimiento de ramas remotas.
URLs de Git
Git tiene su propia sintaxis de URL. Se usa para transferir ubicaciones de repositorios remotos a los comandos de Git. Las URLs de Git son importantes porque git clone se usa principalmente en repositorios remotos.
Protocolos de URL de Git
Git puede usar los siguientes protocolos para la transferencia de datos: Git, Secure Shell (SSH), HTTPS y Local. Cabe señalar que todos estos protocolos requieren que Git esté instalado y funcionando en el servidor, excepto HTTPS.
Git
El protocolo Git es exclusivo de Git. Es un daemon especial que se ejecuta en el puerto 9418 y proporciona un servicio similar a SSH pero sin autenticación.
git clone git:// <repo>
git://host.xz[:port]/path/to/repo.git/La ventaja del protocolo Git es una transferencia rápida. El protocolo Git también tiene algunas desventajas: la ausencia de autenticación y la dificultad de configuración del protocolo.
SSH
Secure Shell (SSH) es un protocolo de red que ayuda a iniciar sesión de forma segura de una computadora a otra. En la mayoría de los casos, el acceso SSH a los servidores está configurado de forma predeterminada. Es necesario establecer credenciales con el servidor de alojamiento antes de conectarse.
git clone ssh:// <repo>
git clone ssh://user@server/project.gitSSH es el único protocolo de red que puede leerse y escribirse fácilmente en los repositorios. SSH tiene muchas otras ventajas, como una configuración sencilla, acceso seguro (toda la transferencia de datos está cifrada y autenticada) y compacidad de los datos antes de su transferencia. La desventaja de SSH es que no admite acceso anónimo al repositorio Git. Puedes encontrar más información sobre las claves SSH en nuestra sección SSH key.
HTTPS
HTTPS significa HyperText Transfer Protocol Secure. Este protocolo se usa principalmente para transmitir datos HTML a través de Internet. Git está configurado para compartir información con HTTPS.
git clone https:// <repo>
git clone https://example.com/gitproject.gitUna de las ventajas de HTTPS es la simplicidad de configuración. Tampoco requiere muchos recursos en el servidor. Cifra la transferencia de contenido. Los cortafuegos corporativos están configurados para permitir el tráfico a través del puerto, lo que convierte a HTTPS en uno de los protocolos de uso común.
La principal desventaja es una sobrecarga ligeramente mayor debido al cifrado, lo que puede hacer que clonar o obtener del repositorio sea un poco más lento en comparación con el protocolo Git.
Local
Local es un protocolo básico en el que el repositorio remoto está en otro directorio del disco. Se usa cuando todos los miembros del equipo tienen acceso a un sistema de archivos compartido. El sistema de archivos compartido te permite clonar, hacer push y hacer pull desde un repositorio local. La ruta al repositorio puede usarse como la URL para clonar un repositorio así en un proyecto existente.
git clone <local_path>
git clone /opt/git/project.gitPráctica
What is the primary purpose of the 'git clone' command in Git?