-l local local
Quando il repository da cui clonare si trova su una macchina locale,questo flag ignora il normale meccanismo di trasporto “Git aware” e clona il repository facendo una copia di HEAD e tutto sotto le directory objects e refs.I file sotto.git/objects/
directory sono hardlinkedto risparmiare spazio quando possibile.
Se il repository è specificato come percorso locale (ad esempio,/path/to/repo
), questo è il valore predefinito e local local è essenzialmente un no-op., Se therepository è specificato come URL, questo flag viene ignorato (e non usiamo mai le ottimizzazioni locali). Specificando--no-local
verrà eseguito l’override predefinito quando viene specificato/path/to/repo
, utilizzando invece il trasporto regularGit.
no no-hardlinks
Forza il processo di clonazione da un repository su un localfilesystem per copiare i file nella directory.git/objects
invece di usare hardlinks. Questo potrebbe essere auspicabilese stai cercando di fare un back-up del tuo repository.,
– s shared shared
Quando il repository da clonare si trova sul computer locale,invece di utilizzare hard link, imposta automaticamente.git/objects/info/alternates
per condividere gli oggetticon il repository di origine. Il repositorystarts risultante fuori senza alcun oggetto proprio.
NOTA: questa è un’operazione probabilmente pericolosa; non usarla se non capisci cosa fa. Se cloni yourrepository usando questa opzione e poi elimini i rami (o usi qualsiasi altro comando Git che rende qualsiasi commit esistente non referenziato) nel repository di origine, alcuni oggetti potrebbero diventare non referenziati (o penzolanti).,Questi oggetti possono essere rimossi dalle normali operazioni Git (come git commit
)che chiamano automaticamente git maintenance run --auto
. (Seegit-manutenzione.) Se questi oggetti vengono rimossi e sono stati referencedby il repository clonato, allora il repository clonato sarà danneggiato.
si noti che l’esecuzione di git repack
senza --local
opzione in un repositorycloned con --shared
copia gli oggetti del repository di origine in un packin repository clonato, la rimozione del disco risparmio di spazio di clone --shared
.,È sicuro, tuttavia, eseguire git gc
, che utilizza l’opzione --local
bydefault.
Se si vuole rompere la dipendenza di un repository clonato con --shared
sulle proprie repository di origine, si può semplicemente eseguire git repack -a
per copiare allobjects dalla repository di origine in un pacchetto nel repository clonato.,
reference reference<repository >
Se il repository di riferimento si trova sulla macchina locale,impostare automaticamente .git/objects/info/alternates
per ottenere oggetti dal repository di riferimento. L’utilizzo di un repository già esistente come alternativa richiederà meno oggetti da copiare dal repository per essere clonato, riducendo i costi di archiviazione di rete e locale.Quando si utilizza --reference-if-able
, una directory non esistente viene ignorata con un avviso invece di interrompere il clone.,
NOTA: vedere la NOTA per l’opzione--shared
e anche l’opzione --dissociate
.
diss dissociare
Prendere in prestito gli oggetti dai repository di riferimento specifiedwith--reference
opzioni solo per ridurre networktransfer, e smettere di prendere in prestito da loro dopo un clone è madeby rendendo necessarie copie locali di oggetti presi in prestito., Thisoption può anche essere usato quando clonando localmente da arepository che già prende in prestito oggetti da anotherrepository-il nuovo repository prenderà in prestito oggetti dallo stesso repository, e questa opzione può essere usata per fermare theborrowing.
-q quiet tranquillo
Operare tranquillamente. Lo stato di avanzamento non viene segnalato al flusso standarderror.
-v verb verbose
Esegui verbosamente. Non influisce sulla segnalazione dello stato di progressal flusso di errori standard.,
progress progress
Lo stato di avanzamento viene riportato sullo standard error streamper impostazione predefinita quando è collegato a un terminale, a meno che non sia specificato--quiet
. Questo flag forza lo stato di avanzamento anche se il flusso di errori standard non è diretto a un terminale.
server server-option=<option>
Trasmettere la stringa specificata al server durante la comunicazione utilizzando protocol versione 2. La stringa data non deve contenere un carattere NUL o LFcharacter. La gestione delle opzioni del server da parte del server, incluse quelle sconosciute, è specifica per il server.,Quando vengono forniti più --server-option=<option>
, vengono inviati tutti all’altro lato nell’ordine elencato nella riga di comando.
-n no no-checkout
Nessun checkout di HEAD viene eseguito dopo il completamento del clone.
bare bare
Crea un repository Git nudo. Cioè, invece di creare<directory>
e posizionare i file amministrativi in<directory>/.git
, rendere<directory>
stesso$GIT_DIR
. Questo ovviamente implica --no-checkout
perché non c’è nessun posto dove controllare l’albero di lavoro.,Anche le teste di diramazione sul telecomando vengono copiate direttamente alle corrispondenti teste di diramazione locali, senza mapparle su refs/remotes/origin/
. Quando questa opzione viene utilizzata, non vengono creati né i rami di tracciamento remoto né le variabili di configurazione correlate.
spar sparse
Inizializza il file sparse-checkout in modo che la directory di lavoro inizi solo con i file nella radice del repository. Il file sparse-checkout può esseremodificato per far crescere la directory di lavoro secondo necessità.,
filter filter=<filter-spec>
Utilizzare la funzione di clone parziale e richiedere che il server invii un sottoinsieme di oggetti raggiungibili in base a un determinato filtro oggetto.Quando si utilizza --filter
, il <filter-spec>
fornito viene utilizzato per il filtro clone parziale. Ad esempio,--filter=blob:none
filtrerà tutti i blob (contenuto del file) fino a quando non sarà necessario da Git. Inoltre,--filter=blob:limit=<size>
filtrerà tutti i blob di sizeat least <size>
., Per maggiori dettagli sulle specifiche del filtro, vedere l’opzione--filter
in git-rev-list.
mirror mirror
Imposta un mirror del repository sorgente. Ciò implica --bare
.Rispetto a --bare
,--mirror
non solo mappa i rami locali della sorgente ai rami locali del target, ma mappa tutti i riferimenti (inclusi rami di tracciamento remoto, note ecc.) e imposta una configurazione refspec suchthat tutti questi ref vengono sovrascritti da ungit remote update
nel repository di thetarget.,
-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 <nome> –ramo <nome>
Invece di puntare appena creato TESTA al ramo pointedto dal repository clonato la TESTA, scegliere <name>
branchinstead. In un repository non nudo, questo è il ramo che verrà estratto.--branch
può anche prendere tag e staccare la TESTA a quel commitin il repository risultante.,
-u <carica-pack> –upload-pack <carica-pack>
Quando è stato dato, e il repository di clone è accessedvia ssh, questa specifica non-percorso predefinito per il commandrun su l’altra estremità.
template template=<template_directory>
Specifica la directory da cui verranno utilizzati i template;(Vedi la sezione “TEMPLATE DIRECTORY” di git-init.,)
-c <chiave>=<valore> –config <chiave>=<valore>
Impostare una variabile di configurazione nella cartella appena creata repository;questo avviene immediatamente dopo il repository isinitialized, ma prima che la storia a distanza è recuperata o anyfiles estratto. La chiave è nello stesso formato previsto da git-config (ad esempio, core.eol=true
)., Se vengono forniti multiplevalues per la stessa chiave, ogni valore verrà scritto sul file di configurazione. Ciò rende sicuro, ad esempio, aggiungere ulteriori refspec al telecomando di origine.
A causa delle limitazioni dell’implementazione corrente, alcune configurationvariables non hanno effetto fino a dopo il recupero iniziale e il checkout.Le variabili di configurazione note per non avere effetto sono:remote.<name>.mirror
eremote.<name>.tagOpt
. Utilizzare le opzioni corrispondenti --mirror
e --no-tags
.,
depth depth<depth >
Crea un clone superficiale con una cronologia troncata al numero specificato di commit. Implica --single-branch
a meno che--no-single-branch
non sia dato per recuperare le storie vicino alle punte di tutti i rami. Se si desidera clonare i sottomoduli in modo superficiale, passare anche--shallow-submodules
.
shallow shallow-since=<date>
Crea un clone shallow con una cronologia dopo il tempo specificato.,
shallow shallow-exclude=<revision>
Crea un clone shallow con una cronologia, escludendo commitsreachable da un ramo o tag remoto specificato. Questa opzionepuò essere specificata più volte.
single single-branch
Clona solo la cronologia che porta alla punta di un singolo ramo,specificata dall’opzione--branch
o dall’opzione primarybranch remoteHEAD
.Ulteriori recuperi nel repository risultante aggiorneranno solo theremote-tracking branch per il ramo questa opzione è stata utilizzata per la clonazione iniziale., Se la TESTA sul telecomando non puntava a nessunobranch quando è stato creato il clone--single-branch
, non viene creato alcun trackingbranch remoto.
no no-tags
Può essere usato insieme a --single-branch
per clonare e mantenere un ramo senza riferimenti diversi da un singolo ramo clonato. Ciò è utile ad esempio per mantenere cloni minimi del defaultbranch di alcuni repository per l’indicizzazione della ricerca.
rec recurse-submodules
Dopo la creazione del clone, inizializzare e clonare submoduleswithin in base al pathspec fornito., Se non viene fornito alcun pathspec, tutti i sottomoduli vengono inizializzati e clonati.Questa opzione può essere data più volte per pathspecs consistingof più voci. Il clone risultante hasubmodule.active
impostato sul pathspec fornito o”.”(che significa tutti i sottomoduli) se viene fornito nopatspec.
I sottomoduli vengono inizializzati e clonati utilizzando le impostazioni predefinite. Questo èequivalente all’esecuzione digit submodule update --init --recursive <pathspec>
immediatamente dopo il completamento del clone. Questa opzione viene ignorata se il repository clonato non ha un albero di lavoro / checkout (cioè, se viene fornito uno qualsiasi di --no-checkout
/-n
, --bare
,o --mirror
)
shallow shallow-submodules
Tutti i sottomoduli che sono clonato sarà superficiale con una profondità di 1.
remote remote-submodules
Tutti i sottomoduli clonati useranno lo stato del ramo di monitoraggio remoto del sottomodulo per aggiornare il sottomodulo, piuttosto che lo SHA-1 registrato dal superproject. Equivalente a passare --remote
agit submodule update
.,
separate separate-git-dir=<git dir>
Invece di posizionare il repository clonato dove dovrebbe essere, posizionare il repository clonato nella directory specificata,quindi creare un collegamento simbolico Git indipendente dal filesystem.Il risultato è che il repository Git può essere separato da workingtree.
– j <n>jobs jobs <n>
Il numero di sottomoduli recuperati contemporaneamente.Per impostazione predefinita, l’opzionesubmodule.fetchJobs
.,
<repository >
Il repository (possibilmente remoto) da cui clonare. Vedere la sezione URL GIT di seguito per ulteriori informazioni su specifyingrepositories.
< directory >
Leave a Reply