-l –local
När förvaret att klona från är på en lokal maskin,förbi denna flagga den normala ”Git aware” transportmechanism och kloner förvaret genom att göra en kopia avhuvud och allt under objekt och refs kataloger.Filerna under .git/objects/
katalogen är hardlinkedför att spara utrymme när det är möjligt.
om arkivet anges som en lokal sökväg (t.ex. /path/to/repo
) är detta standard, och –local är i huvudsak en no-op., Om therepository anges som en URL, ignoreras denna flagga (och wenever använder de lokala optimeringarna). Ange--no-local
kommer att åsidosätta standardvärdet när/path/to/repo
ges, med regularGit transport istället.
–no-hardlinks
tvinga kloningsprocessen från ett förråd på ett localfilesystem att kopiera filerna under katalogen.git/objects
istället för att använda hårddiskar. Detta kan vara önskvärtom du försöker göra en säkerhetskopia av ditt förråd.,
-s –shared
När förvaret att klona är på den lokala datorn,istället för att använda hårda länkar, konfigurerar du automatiskt.git/objects/info/alternates
för att dela objektenmed källarkivet. Den resulterande repositorystartar ut utan något föremål av sig själv.
OBS: Detta är en möjligen farlig operation; använd inteDet om du inte förstår vad det gör. Om du klona yourrepository med det här alternativet och sedan ta bort grenar (eller använda någon annan Git kommando som gör någon befintlig begå unreferenced) i thesource förvaret, vissa objekt kan bli unreferenced (eller dinglande).,Dessa objekt kan tas bort genom normala Git-operationer (som git commit
)som automatiskt anropar git maintenance run --auto
. (Seegit-underhåll.) Om dessa objekt tas bort och refereradesav det klonade förvaret blir det klonade förvaret korrupt.
Observera att körgit repack
utan--local
alternativet i ett repositorycloned med--shared
kommer att kopiera objekt från källarkivet till ett packi det klonade förvaret, ta bort diskutrymmet besparingar påclone --shared
.,Det är dock säkert att köragit gc
, som använder alternativet--local
bydefault.
om du vill bryta beroendet av ett förråd klonat med --shared
onits källarkiv, kan du helt enkelt köra git repack -a
för att kopiera allobjects från källarkivet till ett paket i det klonade förvaret.,
–reference<repository>
om referensarkivet finns på den lokala datorn konfigurerar du automatiskt.git/objects/info/alternates
toobtain-objekt från referensarkivet. Att använda ett redan befintligt förråd som alternativ kommer att kräva att färre objekt kopieras från förvaret klonas, vilket minskar nätverks-och lokala lagringskostnader.När du använder --reference-if-able
hoppas en icke-existerande katalog över med en varning istället för att avbryta klonen.,
OBS! se anteckningen för alternativet--shared
och även alternativet--dissociate
.
–dissociate
låna objekten från referensarkiv specifiedwith alternativen--reference
bara för att minska networktransfer och sluta låna från dem efter att en klon har gjorts genom att göra nödvändiga lokala kopior av lånade objekt., Detta alternativ kan också användas när kloning lokalt från arepository som redan lånar objekt från en annanrepository-det nya arkivet kommer att låna objekt från samma arkiv, och det här alternativet kan användas för att stoppa upplåsningen.
-q –quiet
arbeta tyst. Framsteg rapporteras inte till standardenfelström.
-v, –verbose
Kör verbosely. Påverkar inte rapporteringen av statusen för framstegtill standardfelströmmen.,
–progress
Förloppsstatus rapporteras på standardfelet streamby standard när det är anslutet till en terminal, såvida inte--quiet
anges. Denna flagga tvingar framstegsstatus även omstandardfelströmmen inte riktas till en terminal.
–server-option=<option>
överför den givna strängen till servern när du kommunicerar med hjälp avprotocol version 2. Den givna strängen får inte innehålla en NUL eller Lfkaraktär. Serverns hantering av serveralternativ, inklusiveokända sådana, är serverspecifik.,När flera--server-option=<option>
ges, är de allsent till den andra sidan i den ordning som anges på kommandoraden.
-n –no-checkout
ingen checkout av huvudet utförs efter att klonen är klar.
–bare
gör ett blott Git-arkiv. Det vill säga istället förskapa <directory>
och placera administrativefilerna i <directory>/.git
, gör <directory>
själv $GIT_DIR
. Detta innebär uppenbarligen--no-checkout
eftersom det inte finns någonstans att kolla in arbetsträdet.,Även grenhuvudena på fjärrkontrollen kopieras direkttill motsvarande lokala grenhuvuden, utan att mappa dem till refs/remotes/origin/
. När det här alternativet används skapas varken fjärr-spårningsgrenar eller relateradekonfigurationsvariabler.
–sparse
initiera sparse-checkout-filen så att workingdirectory börjar med endast filerna i rootof the repository. Den glesa kassan filen kan varamodifierad för att växa arbetskatalogen efter behov.,
–filter=<filter-spec>
använd den partiella klonfunktionen och begär att servern skickar en delmängd av nåbara objekt enligt ett visst objektfilter.När --filter
används det medföljande <filter-spec>
för det partiella klonfiltret. Till exempel--filter=blob:none
willfilter ut alla blobbar (filinnehåll) tills det behövs av Git. Dessutom--filter=blob:limit=<size>
kommer att filtrera bort alla blobbar av sizeat minst<size>
., För mer information om filterspecifikationer, se --filter
alternativ i git-rev-listan.
–mirror
Ställ in en spegel i källarkivet. Detta innebär --bare
.Jämfört med--bare
,--mirror
kartlägger inte bara lokala grenar avkälla till lokala grenar av målet, det kartlägger alla refs (inklusiveremote-tracking grenar, anteckningar etc.) och sätter upp en refspec konfiguration suchthat alla dessa referenser skrivs över av en git remote update
i thetarget arkiv.,
-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 <name>
istället för att peka det nyskapade huvudet mot grenen pointedto av det klonade arkivets Huvud, peka på<name>
branchinstead. – herr talman! I ett icke-bare förråd är detta den gren som kommerkontrolleras ut.--branch
kan också ta taggar och lossa huvudet vid det begåti det resulterande arkivet.,
-u<upload-pack> –upload-pack<upload-pack>
När det ges, och arkivet att klona från är accessedvia ssh, anger detta en icke-standard sökväg för kommandoraden i den andra änden.
–template=<template_directory>
Ange katalogen från vilken mallar som ska användas;(se avsnittet ”MALLKATALOG” i git-init.,C <nyckel>=<värde>–config<nyckel>=<värde>
Ställ in en konfigurationsvariabel i det nyskapade arkivet;detta träder i kraft omedelbart efter det att arkivet har initierats, men innan fjärrhistoriken hämtas eller någonfiler har markerats. Nyckeln är i samma format som förväntat bygit-config (t.ex. core.eol=true
)., Om multiplevalues ges för samma nyckel skrivs varje värde till config-filen. Detta gör det till exempel säkert att lägga tillytterligare hämta refspecs till origin remote.
på grund av begränsningar i den nuvarande implementeringen, vissa configurationvariables inte träda i kraft förrän efter den första hämtning och kassan.Konfigurationsvariabler kända för att inte träda i kraft är:remote.<name>.mirror
och remote.<name>.tagOpt
. Använd alternativet --mirror
och --no-tags
istället.,
–depth<depth>
skapa en grund klon med en historia trunkerad tillspecificerat antal åtaganden. Innebär --single-branch
om--no-single-branch
ges för att hämta historierna i närheten avtips av alla grenar. Om du vill klona undermoduler grundligt,skicka även --shallow-submodules
.
–shallow-since=<datum>
skapa en grund klon med en historia efter den angivna tiden.,
–shallow-exclude=<revision>
skapa en ytlig klon med en historia, med undantag för begår från en angiven fjärr gren eller tagg. Detta alternativkan anges flera gånger.
–single-branch
klona bara historiken som leder till spetsen på en enda gren, antingen specificerad av--branch
alternativet eller primarybranch remote HEAD
pekar på.Ytterligare Hämtningar i det resulterande arkivet kommer endast att uppdatera theremote-tracking gren för grenen detta alternativ användes för deninitiala kloning., Om huvudet på fjärrkontrollen inte pekade på någonbranch när --single-branch
klon gjordes, skapas ingen fjärr-trackingbranch.
–no-tags
kan användas tillsammans med--single-branch
för att klona ochbehålla en gren utan några andra referenser än en enda clonedbranch. Detta är användbart t.ex. för att upprätthålla minimala kloner av defaultbranch av vissa förvaret för sökning indexering.
–recurse-submoduler
Efter att klonen har skapats, initiera och klona submoduleswithin baserat på den medföljande pathspec., Om ingen pathspec tillhandahålls, alla undermoduler initieras och klonas.Detta alternativ kan ges flera gånger för pathspecs som består av flera poster. Den resulterande klonen har submodule.active
satt tillden medföljande pathspec, eller ”.”(betyder alla submoduler) om nopatspec tillhandahålls.
undermoduler initieras och klonas med standardinställningarna. Detta är likvärdigt med att köragit submodule update --init --recursive <pathspec>
omedelbart efter att klonen är klar. Det här alternativet ignoreras om det klonade arkivet inte har en worktree/checkout (dvs., om någon av --no-checkout
/-n
, --bare
,eller --mirror
ges)
–shallow-submodules
alla undermoduler som är klonade kommer att vara grunda med ett djup på 1.
–remote-undermoduler
Alla undermoduler som är klonade kommer att använda den status submodule’sremote-spårning gren för att uppdatera submodule, snarare än thesuperproject spelas in SHA-1. Motsvarar --remote
tillgit submodule update
.,
–separate-git-dir=<git dir>
istället för att placera det klonade förvaret där det antas vara, placera det klonade förvaret i den angivna katalogen och gör sedan en filsystem-agnostisk Git symbolisk länk till det.Resultatet är Git förvaret kan separeras från arbetetträd.
-j<n> –jobs<n>
antalet undermoduler hämtade samtidigt.Defaults till alternativetsubmodule.fetchJobs
.,
<arkiv>
det (eventuellt fjärr) arkivet att klona från. Se avsnittet git-webbadresser nedan för mer information om specificingrepositories.
<katalog >
Leave a Reply