Este es el comando git-clone que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.
PROGRAMA:
NOMBRE
git-clone: clona un repositorio en un nuevo directorio
SINOPSIS
git clonar [--template = ]
[-l] [-s] [--sin enlaces duros] [-q] [-n] [--bare] [--mirror]
[-o ] [-B ] [-u ] [--referencia ]
[--dissociate] [--separate-git-dir ]
[--profundidad ] [- [no-] rama única]
[--recursivo | --recurse-submodules] [-]
[ ]
DESCRIPCIÓN
Clona un repositorio en un directorio recién creado, crea ramas de seguimiento remoto para
cada rama en el repositorio clonado (visible usando git branch -r), y crea y verifica
una rama inicial que se bifurca desde la rama activa actualmente del repositorio clonado.
Después del clon, una búsqueda simple de git sin argumentos actualizará todo el seguimiento remoto
ramas, y un git pull sin argumentos fusionará además la rama maestra remota
en la rama maestra actual, si la hay (esto no es cierto cuando se da "--single-branch";
vea abajo).
Esta configuración predeterminada se logra creando referencias a los cabezales de las sucursales remotas
bajo refs / remotes / origin y al inicializar remote.origin.url y remote.origin.fetch
variables de configuración.
OPCIONES
--local, -l
Cuando el repositorio desde el que se va a clonar está en una máquina local, esta bandera omite la normal
Mecanismo de transporte "consciente de Git" y clona el repositorio haciendo una copia de HEAD y
todo en los directorios de objetos y referencias. Los archivos en el directorio .git / objects /
están vinculados para ahorrar espacio cuando sea posible.
Si el repositorio se especifica como una ruta local (por ejemplo, / ruta / a / repo), esta es la
default, y --local es esencialmente una operación no operativa. Si el repositorio se especifica como una URL,
entonces esta bandera se ignora (y nunca usamos las optimizaciones locales). Especificando
--no-local anulará el valor predeterminado cuando se proporcione / path / to / repo, usando el estándar
Git transport en su lugar.
--no enlaces duros
Forzar el proceso de clonación de un repositorio en un sistema de archivos local para copiar los archivos
en el directorio .git / objects en lugar de utilizar enlaces físicos. Esto puede ser deseable si
está intentando hacer una copia de seguridad de su repositorio.
--compartido, -s
Cuando el repositorio para clonar está en la máquina local, en lugar de usar enlaces físicos,
configura automáticamente .git / objects / info / alternates para compartir los objetos con la fuente
repositorio. El repositorio resultante comienza sin ningún objeto propio.
NOTA: esta es una operación posiblemente peligrosa; hacer no úsalo a menos que entiendas qué
lo hace. Si clona su repositorio usando esta opción y luego borra ramas (o
use cualquier otro comando de Git que haga que cualquier confirmación existente no esté referenciada) en la fuente
repositorio, algunos objetos pueden dejar de tener referencias (o colgar). Estos objetos pueden ser
eliminado por las operaciones normales de Git (como git commit) que llaman automáticamente a git gc
--auto. (Ver git-gc(1).) Si estos objetos son eliminados y fueron referenciados por el
repositorio clonado, entonces el repositorio clonado se dañará.
Tenga en cuenta que ejecutar git repack sin la opción -l en un repositorio clonado con -s
copiar objetos del repositorio de origen en un paquete en el repositorio clonado, eliminando
el ahorro de espacio en disco de los clones. Sin embargo, es seguro ejecutar git gc, que usa la
-l opción por defecto.
Si desea romper la dependencia de un repositorio clonado con -s en su fuente
repositorio, simplemente puede ejecutar git repack -a para copiar todos los objetos de la fuente
repositorio en un paquete en el repositorio clonado.
--referencia
Si el repositorio de referencia está en la máquina local, configure automáticamente
.git / objects / info / alternates para obtener objetos del repositorio de referencia. Usando un
El repositorio ya existente como alternativo requerirá que se copien menos objetos
desde el repositorio que se clona, lo que reduce los costos de almacenamiento local y de red.
NOTA: vea la NOTA para la opción --shared, y también la opción --dissociate.
--disociar
Tomar prestados los objetos de los repositorios de referencia especificados con las opciones --reference
solo para reducir la transferencia de red y dejar de pedir prestado de ellos después de que se haga un clon por
hacer las copias locales necesarias de los objetos prestados. Esta opción también se puede utilizar cuando
clonación local de un repositorio que ya toma prestados objetos de otro
repositorio: el nuevo repositorio tomará prestados objetos del mismo repositorio, y esto
La opción se puede utilizar para detener el préstamo.
- silencioso, -q
Opere silenciosamente. El progreso no se informa al flujo de errores estándar. Esta bandera es
también se pasa al comando 'rsync' cuando se da.
--detallado, -v
Ejecutar prolijamente. No afecta la notificación del estado de progreso al error estándar
arroyo.
--Progreso
El estado de progreso se informa en el flujo de error estándar de forma predeterminada cuando se
conectado a un terminal, a menos que se especifique -q. Esta bandera fuerza el estado de progreso incluso
si el flujo de error estándar no se dirige a un terminal.
--sin pago, -n
No se realiza ninguna comprobación de HEAD después de que se completa el clon.
--desnudo
Lograr desnudo Repositorio de Git. Es decir, en lugar de crear y colocando el
archivos administrativos en /.git, haz el en sí, el $ GIT_DIR.
Esto obviamente implica la -n porque no hay ningún lugar para verificar el árbol de trabajo.
Además, los cabezales de las sucursales en el control remoto se copian directamente en la sucursal local correspondiente.
cabezas, sin mapearlas a refs / remotes / origin /. Cuando se utiliza esta opción, ninguno
Se crean ramas de seguimiento remoto ni las variables de configuración relacionadas.
--espejo
Configure un espejo del repositorio de origen. Esto implica - desnudo. Comparado con --bare,
--mirror no solo asigna las ramas locales de la fuente a las ramas locales del objetivo,
mapea todas las referencias (incluidas las ramas de seguimiento remoto, notas, etc.) y configura un
configuración de refspec de modo que todas estas referencias se sobrescriban con una actualización remota de git
en el repositorio de destino.
--origen , -o
En lugar de utilizar el origen del nombre remoto para realizar un seguimiento del repositorio ascendente, utilice
.
--rama , -B
En lugar de apuntar el HEAD recién creado a la rama apuntada por el clonado
HEAD del repositorio, apunte a rama en su lugar. En un repositorio no desnudo, esto es
la sucursal que se comprobará. - la rama también puede tomar etiquetas y separar el
HEAD en esa confirmación en el repositorio resultante.
--upload-pack , -u
Cuando se proporciona, y se accede al repositorio desde el que se clona a través de ssh, esto especifica un
ruta no predeterminada para el comando que se ejecuta en el otro extremo.
--template =
Especifique el directorio desde el que se utilizarán las plantillas; (Ver el "DIRECTORIO DE PLANTILLAS"
sección de git-init(1).)
--config = , -C =
Establezca una variable de configuración en el repositorio recién creado; esto surte efecto
Inmediatamente después de que se inicialice el repositorio, pero antes de que se inicie el historial remoto.
recuperados o cualquier archivo extraído. La clave tiene el mismo formato que esperaba git-
config(1) (por ejemplo, core.eol = true). Si se dan varios valores para la misma clave, cada
El valor se escribirá en el archivo de configuración. Esto hace que sea seguro, por ejemplo, agregar
refspecs de búsqueda adicionales al control remoto de origen.
--profundidad
Créar un superficial clonar con un historial truncado al número especificado de confirmaciones.
Implica --single-branch a menos que --no-single-branch se dé para buscar las historias cercanas
las puntas de todas las ramas.
- [no-] rama única
Clone solo el historial que conduce a la punta de una sola rama, ya sea especificado por el
--branch option o los puntos HEAD del control remoto de la sucursal principal en. Más busca en
el repositorio resultante solo actualizará la rama de seguimiento remoto para la rama
esta opción se utilizó para la clonación inicial. Si la CABEZA del control remoto no apuntó
en cualquier sucursal cuando se realizó la clonación de una sola sucursal, no se realiza ninguna sucursal de seguimiento remoto
creado.
--recursive, --recurse-submódulos
Después de crear el clon, inicialice todos los submódulos dentro, usando sus valores predeterminados.
ajustes. Esto es equivalente a ejecutar la actualización del submódulo git --init --recursive
inmediatamente después de que finalice el clon. Esta opción se ignora si el clonado
el repositorio no tiene un árbol de trabajo / pago (es decir, si alguno de --no-checkout / -n, --bare,
o - se da un espejo)
--separate-git-dir =
En lugar de colocar el repositorio clonado donde se supone que debe estar, coloque el
repositorio en el directorio especificado, luego haga un Git agnóstico del sistema de archivos simbólico
enlace allí. El resultado es que el repositorio de Git se puede separar del árbol de trabajo.
El repositorio (posiblemente remoto) desde el que clonar. Consulte la sección de URL a continuación para obtener más información.
información sobre la especificación de repositorios.
El nombre de un nuevo directorio para clonar. La parte "humana" de la fuente
El repositorio se utiliza si no se proporciona un directorio explícitamente (repositorio para /path/to/repo.git y
foo para host.xz: foo / .git). La clonación en un directorio existente solo se permite si el
el directorio está vacío.
GIT URL
En general, las URL contienen información sobre el protocolo de transporte, la dirección del
servidor remoto y la ruta al repositorio. Dependiendo del protocolo de transporte, algunos
de esta información puede estar ausente.
Git admite los protocolos ssh, git, http y https (además, se pueden usar ftp y ftps
para buscar y rsync se puede usar para buscar y empujar, pero estos son ineficientes y
obsoleto; no los use).
El transporte nativo (es decir, git: // URL) no realiza autenticación y debe usarse con
precaución en redes no seguras.
Se pueden usar las siguientes sintaxis con ellos:
· Ssh: // [usuario @] host.xz [: puerto] /ruta/a/repo.git/
· Git: //host.xz [: puerto] /ruta/a/repo.git/
· Http [s]: //host.xz [: puerto] /ruta/a/repo.git/
· Ftp [s]: //host.xz [: puerto] /ruta/a/repo.git/
· Rsync: //host.xz/path/to/repo.git/
También se puede usar una sintaxis alternativa similar a scp con el protocolo ssh:
· [Usuario @] host.xz: ruta / a / repo.git /
Esta sintaxis solo se reconoce si no hay barras inclinadas antes de los primeros dos puntos. Esto ayuda
diferenciar una ruta local que contenga dos puntos. Por ejemplo, la ruta local foo: bar podría
especificarse como una ruta absoluta o ./foo:bar para evitar ser malinterpretado como una URL ssh.
Los protocolos ssh y git también admiten la expansión de ~ nombre de usuario:
· Ssh: // [usuario @] host.xz [: puerto] / ~ [usuario] /ruta/to/repo.git/
· Git: //host.xz [: puerto] / ~ [usuario] /ruta/a/repo.git/
· [Usuario @] host.xz: / ~ [usuario] /ruta/a/repo.git/
Para repositorios locales, también soportados por Git de forma nativa, las siguientes sintaxis pueden ser
usado:
· /Ruta/a/repo.git/
· Archivo: ///path/to/repo.git/
Estas dos sintaxis son en su mayoría equivalentes, excepto que la primera implica la opción --local.
Cuando Git no sabe cómo manejar un determinado protocolo de transporte, intenta usar el
remoto- ayudante remoto, si existe. Para solicitar explícitamente un ayudante remoto,
se puede utilizar la siguiente sintaxis:
· ::
dónde puede ser una ruta, un servidor y una ruta, o una cadena arbitraria similar a una URL
reconocido por el ayudante remoto específico que se invoca. Ver ayudantes de gitremote(1) para
Detalles.
Si hay una gran cantidad de repositorios remotos con nombres similares y desea utilizar un
diferente formato para ellos (de modo que las URL que utiliza se reescribirán en URL que
trabajo), puede crear una sección de configuración del formulario:
[url " "]
En lugar de =
Por ejemplo, con esto:
[url "git: //git.host.xz/"]
En lugar de = host.xz: / ruta / a /
En lugar de = trabajo:
una URL como "work: repo.git" o como "host.xz: /path/to/repo.git" se reescribirá en cualquier
contexto que toma una URL como "git: //git.host.xz/repo.git".
Si desea reescribir las URL solo para push, puede crear una sección de configuración del
formar:
[url " "]
pushInsteadOf =
Por ejemplo, con esto:
[url "ssh: //example.org/"]
pushInsteadOf = git: //example.org/
una URL como "git: //example.org/path/to/repo.git" se reescribirá en
"ssh: //example.org/path/to/repo.git" para inserciones, pero las extracciones seguirán usando el original
URL.
EJEMPLOS
· Clonar desde aguas arriba:
$ git clon git: //git.kernel.org/pub/scm/.../linux.git my-linux
$ cd mi-linux
$ make
· Hacer un clon local que toma prestado del directorio actual, sin verificar cosas
fuera:
$ git clon -l -s -n. ../Copiar
$ cd ../copiar
$ git show-rama
· Clonar desde aguas arriba mientras se toma prestado de un directorio local existente:
$ git clone --referencia /git/linux.git \
git: //git.kernel.org/pub/scm/.../linux.git \
mi-linux
$ cd mi-linux
· Crea un repositorio simple para publicar tus cambios al público:
$ git clon --bare -l /home/proyecto/.git /pub/scm/proyecto.git
GIT
Parte de los git(1) suite
Use git-clone en línea usando los servicios de onworks.net