– l local local
Cuando el repositorio desde el que clonar está en una máquina local,esta bandera omite el mecanismo de transporte normal «git aware» y clona el repositorio haciendo una copia de Head y todo bajo los directorios objects y refs.Los archivos bajo el directorio .git/objects/
están enlazados para ahorrar espacio cuando sea posible.
si el repositorio se especifica como una ruta local (por ejemplo, /path/to/repo
),este es el valor predeterminado, y –local es esencialmente un no-op., Si el repositorio se especifica como URL, entonces este indicador se ignora (y nunca usaremos las optimizaciones locales). Al especificar --no-local
se superará el valor predeterminado cuando se indique /path/to/repo
, utilizando en su lugar el transporte regularGit.
no no-hardlinks
fuerza el proceso de clonación desde un repositorio en un localfilesystem para copiar los archivos bajo el directorio .git/objects
en lugar de usar hardlinks. Esto puede ser deseable si está tratando de hacer una copia de seguridad de su repositorio.,
– S shared shared
Cuando el repositorio a clonar está en la máquina local, en lugar de usar enlaces duros, configure automáticamente.git/objects/info/alternates
para compartir los objetos con el repositorio de origen. El repositorio resultante comienza sin ningún objeto propio.
NOTA: Esta es una operación posiblemente peligrosa; no la use a menos que entienda lo que hace. Si clonas tu repositorio usando esta opción y luego eliminas ramas (o usas cualquier otro comando de Git que haga que cualquier confirmación existente no sea referenciada) en el repositorio de fuentes, algunos objetos pueden quedar sin referenciar (o colgando).,Estos objetos se pueden eliminar mediante operaciones normales de Git (como git commit
)que llaman automáticamente a git maintenance run --auto
. (Vergit-mantenimiento.) Si estos objetos se eliminan y fueron referenciados por el repositorio clonado, entonces el repositorio clonado se corromperá.
tenga en cuenta que ejecutar git repack
sin la opción --local
en un repositorio clonado con --shared
copiará objetos del repositorio de origen en un paquete en el repositorio clonado, eliminando el ahorro de espacio en disco de clone --shared
.,Sin embargo, es Seguro ejecutar git gc
, que utiliza la opción --local
bydefault.
si desea romper la dependencia de un repositorio clonado con --shared
onits source repository, simplemente puede ejecutar git repack -a
para copiar allobjects del repositorio de código fuente en un paquete en el repositorio clonado.,
reference reference <repository>
si el repositorio de referencia está en la máquina local,configure automáticamente .git/objects/info/alternates
toobtain objects from the reference repository. El uso de un repositorio ya existente como alternativa requerirá que se copien menos objetos del repositorio clonado, reduciendo los costos de almacenamiento local y de red.Cuando se utiliza el --reference-if-able
, un directorio que no existe se omite con una advertencia en lugar de abortar el clon.,
nota: vea la nota para la opción --shared
, y también la opción--dissociate
.
Diss disociate
Borrow the objects from reference repositories specificedwith the--reference
options only to reduce networktransfer, and stop borrowing from them after a clone is madeby making necessary local copies of borrowed objects., Esta opción también se puede usar cuando se clona localmente desde un repositorio que ya toma prestados objetos de otro repositorio—el nuevo repositorio tomará prestados objetos del mismo repositorio, y esta opción se puede usar para detener el borrowing.
-q quiet quiet
operar en silencio. El progreso no se informa a la corriente standarderror.
-v, –verbose
Ejecutar muestra un. No afecta a la notificación del Estado de progreso al flujo de errores estándar.,
progress progress
el estado del progreso se informa en la secuencia de errores estándar por defecto cuando se adjunta a un terminal, a menos que se especifique --quiet
. Este indicador fuerza el estado de progreso incluso si el flujo de error estándar no está dirigido a una terminal.
server server-option=<option>
transmita la cadena dada al servidor al comunicarse usando la versión 2 del protocolo. La cadena dada no debe contener un carácter NUL o LF. El manejo por parte del servidor de las opciones del servidor, incluidas las desconocidas, es específico del servidor.,Cuando se dan varios --server-option=<option>
, se envían al otro lado en el orden indicado en la línea de comandos.
– n no No-checkout
no se realiza ningún checkout de HEAD después de completar el clon.
Make bare
crea un repositorio Git Desnudo. Es decir, en lugar de crear <directory>
y colocar los archivos administrativos en <directory>/.git
, haga que <directory>
sea el $GIT_DIR
. Esto obviamente implica el --no-checkout
porque no hay ningún lugar para revisar el árbol de trabajo.,También los cabezales de rama en el control remoto se copian directamente a los cabezales de rama locales correspondientes, sin asignarlos a refs/remotes/origin/
. Cuando se utiliza esta opción, no se crean ramas de seguimiento remoto ni las variables relatedconfiguration.
Initi sparse
inicializa el archivo sparse-checkout para que el directorio de trabajo comience solo con los archivos en la raíz del repositorio. El archivo sparse-checkout puede ser modificado para hacer crecer el directorio de trabajo según sea necesario.,
filter filter=<filter-spec>
Use la función de clonación parcial y solicite que el servidor envíe un subconjunto de objetos accesibles de acuerdo con un filtro de objeto dado.Cuando se utiliza --filter
, se utiliza el <filter-spec>
suministrado para el filtro de clonación parcial. Por ejemplo, --filter=blob:none
filtrará todos los blobs (contenido del archivo) hasta que Git lo necesite. También,--filter=blob:limit=<size>
filtrará todos los blobs de sizeat menos <size>
., Para más detalles sobre las especificaciones del filtro, vea la opción --filter
en Git-rev-list.
mirror mirror
configurar un mirror del repositorio de fuentes. Esto implica --bare
.En comparación con --bare
, --mirror
no solo mapea las ramas locales del origen a las ramas locales del destino, sino que mapea todas las referencias(incluidas las ramas de seguimiento de Remote, notas, etc.) y establece una configuración refspec como que todas estas referencias se sobrescriben con un git remote update
en el repositorio target.,
-o <name> –origin <name>
Instead of using the remote name origin
to keep track of the upstreamrepository, use <name>
. Overrides clone.defaultRemoteName
from theconfig.,
-b <name> branch branch <name>
en lugar de apuntar el HEAD recién creado a la branch pointedto por el HEAD del repositorio clonado, apunte a <name>
branchinstead. En un repositorio no Desnudo, esta es la rama que se revisará.--branch
también puede tomar etiquetas y separar el HEAD en esa confirmación en el repositorio resultante.,
-u <upload-pack> –upload-pack <upload-pack>
Cuando se da, y el repositorio para clonar es accessedvia ssh, este especifica una ruta de acceso no predeterminada para commandrun en el otro extremo.
template template=<template_directory>
especifique el directorio desde el que se utilizarán las plantillas;(consulte la sección «Directorio de plantillas» de git-init.,)
-c <clave>=<valor> –config <clave>=<valor>
Establecer una variable de configuración en el recién creado repositorio, esto tiene efecto inmediatamente después de que el repositorio isinitialized, pero antes de que el control remoto de la historia es recuperado o anyfiles desprotegido. La clave está en el mismo formato que espera git-config (por ejemplo, core.eol=true
)., Si se dan múltiples valores para la misma clave, cada valor se escribirá en el archivo de configuración. Esto hace que sea seguro, por ejemplo, agregar refspecs adicionales al control remoto de origen.
debido a las limitaciones de la implementación actual, algunas configurationvariables no surten efecto hasta después de la recuperación inicial y la comprobación.Las variables de configuración que se sabe que no tienen efecto son:remote.<name>.mirror
y remote.<name>.tagOpt
. Utilice las opciones --mirror
y --no-tags
en su lugar.,
depth depth <depth>
crear un clon superficial con un historial truncado al número especificado de confirmaciones. Implica --single-branch
a menos que--no-single-branch
se dé para obtener los historiales cerca de los consejos de todas las ramas. Si desea clonar submódulos superficialmente, también pase --shallow-submodules
.
shallow shallow-since=<date>
crear un clon superficial con un historial después del tiempo especificado.,
revision shallow-exclude=<revision>
crear un clon superficial con un historial, excluyendo commitsreachable desde una rama o etiqueta remota especificada. Esta opciónpuede especificarse varias veces.
Clone single-branch
Clone solo el historial que conduce a la punta de una sola rama,ya sea especificada por la opción --branch
o HEAD
apunta a.Otras búsquedas en el repositorio resultante solo actualizarán la rama remote-tracking para la rama esta opción fue utilizada para la clonación inicial., Si la cabeza en el mando a distancia no apuntaba a anybranch cuando --single-branch
clon se hizo, no se crea ningún remote-trackingbranch.
no no-tags
Se puede usar junto con --single-branch
para clonar y mantener una rama sin referencias que no sean una sola rama clonada. Esto es útil, por ejemplo, para mantener clones mínimos del defaultbranch de algún repositorio para indexación de búsqueda.
REC recurse-submodules
Después de crear el clon, inicialice y clone submodulos en base a la pathspec proporcionada., Si no se proporciona pathspec, todos los submódulos se inicializan y se clonan.Esta opción se puede dar varias veces para pathspecs consistingof multiple entries. El clon resultante tiene submodule.active
establecido en el pathspec proporcionado, or».»(es decir, todos los submódulos) si se proporciona nopathspec.
los submódulos se inicializan y clonan utilizando su configuración predeterminada. Esto es equivalente a ejecutargit submodule update --init --recursive <pathspec>
inmediatamente después de finalizar el clon. Esta opción es ignorada si el repositorio clonado no tiene un worktree / checkout (i. e., si cualquiera de --no-checkout
/-n
, --bare
o --mirror
es dado)
–superficial de submódulos
Todos los submódulos que son clonados será superficial, con una profundidad de 1.
subm remote-submodules
Todos los submódulos que son clonados usarán el estado de la rama remote-tracking del submódulo para actualizar el submódulo, en lugar del SHA-1 registrado del superproject. Equivalente a pasar --remote
agit submodule update
.,
separate separate-git-dir=<git dir>
en lugar de colocar el repositorio clonado donde se supone que esté, coloque el repositorio clonado en el directorio especificado,luego haga un enlace simbólico git agnóstico al sistema de archivos.El resultado es que el repositorio Git se puede separar de workingtree.
-j <n> –trabajos de <n>
El número de submódulos de exagerado al mismo tiempo.El valor predeterminado es la opción submodule.fetchJobs
.,
<repository>
el repositorio (posiblemente remoto) desde el que clonar. Consulte la sección URL de git a continuación para obtener más información sobre los repositorios específicos.
<directory>
Leave a Reply