Git
Íslenska ▾ Topics ▾ Latest version ▾ git-clone last updated in 2.47.0

NAFN

git-clone - Einrita hirslu í nýja skrá

SAMANTEKT

git clone [--template=<template-directory>]
	  [-l] [-s] [--no-hardlinks] [-q] [-n] [--bare] [--mirror]
	  [-o <name>] [-b <name>] [-u <upload-pack>] [--reference <repository>]
	  [--dissociate] [--separate-git-dir <git-dir>]
	  [--depth <depth>] [--[no-]single-branch] [--no-tags]
	  [--recurse-submodules[=<pathspec>]] [--[no-]shallow-submodules]
	  [--[no-]remote-submodules] [--jobs <n>] [--sparse] [--[no-]reject-shallow]
	  [--filter=<filter> [--also-filter-submodules]] [--] <repository>
	  [<directory>]

ÚTSKÝRING

Einritar hirslu í nýtilbúna skrá, býr til greinar undir fjareftirliti fyrir hverja grein í einrituðu hirslunni (hægt að sjá með því að nota git branch --remotes (git grein fjarlægjur)), og býr til og útskráir upphafsgrein sem kvíslast frá viðkomandi virkri grein þeirrar hirslu sem verið er að einrita.

Eftir að einritunin hefur verið framkvæmd mun einfalt git fetch(git sækja) án breyta uppfæra allar greinar sem eru undir fjareftirliti, og git pull (git draga) án breyta mun auk þess steypa saman fjarlægu höfuðgreininni við viðeigandi höfuðgrein, ef einhver finnst (þetta á ekki við þegar "--single-branch" (ein grein) valmöguleikinn er gefinn; sjá fyrir neðan).

Þessi forstillta hegðun færst með því að skapa tilvísanir til hausa fjarlægu greinanna undir refs/remotes/origin (tilvísanir fjarlægjur uppruni) og með því að frumstilla stillingabreyturnar remote.origin.url(fjarlægja uppruni vefslóð) og remote.origin.fetch(fjarlægja uppruni sækja).

VALMÖGULEIKAR

-l
--local

Þegar hirslan sem á að einrita er á staðbundinni vél leiðir þessi stilling hinn venjulega "Git aware" (git meðvitaður) flutningsmáta hjá sér og einritar hirsluna með því að gera afrit af HAUS og öllu sem er undir viðfangs- og tilvísanaskránum. Skjölin sem finnast undir .git/objects/(git viðföng) eru harðhlekkjuð til þess að spara pláss eftir því sem mögulegt er.

Ef hirslan er skilgreind sem sértæk slóð (t.d. /slóð/að/hirslu) þá er þetta forstillt hegðurn, og --local er í eðli sínu slæpi (ofaukið). Ef hirslan er skilgreind sem URL (vefslóð) þá er þessi valmöguleiki hunsaður (og staðbundnar fínstillingar eru aldrei notaðar). Að tiltaka --no-local (ekkert staðbundið) mun valda því að skipunin tekur ekki tillit til forstillinga þegar /slóð/að/hirslu er uppgefin, og nota hinn hefðbundna Git milliflutning í staðinn.

If the repository’s $GIT_DIR/objects has symbolic links or is a symbolic link, the clone will fail. This is a security measure to prevent the unintentional copying of files by dereferencing the symbolic links.

ATHUGIÐ: þessi aðgerð getur keppt við samhliða breytingar á upprunahirslunni, svipað og að framkvæma cp -r src dst`á sama tíma og `src er breytt.

Þvinga einitunarferli hirslu á staðbundnu skráakerfi til að afrita skjöl undir .git/objects(git viðföng) skránni í stað þess að nota harðhlekki. Þetta gæti verið æskilegt ef þú ert að reyna að taka varaafrit af hirslunni þinni.

-s
--shared

Þegar hirslan sem á að einrita er á staðbundinni vél, setjið sjálfkrafa upp .git/objects/info/alternates(git viðföng upplýsingar staðgenglar) í stað þess að nota harðhlekki til að deila viðföngum með upptakahirslunni. Hirslan sem verður til byrjar án nokkurra eigin viðfanga.

ATHUGIÐ: þetta er mögulega hættuleg aðgerð; ekki nota hana nema þú vitir hvað hún gerir. Ef þú einritar hirsluna þína með þessum valmöguleika og eyðir síðan greinum (eða notar einhverja aðra Git skipun sem gerir það að verkum að tilvísanir í innlegg sem eru til hverfa) í upprunahirslunni, geta sum viðföng týnt tilvísunum sínum (þau lafa). Þessi viðföng er hægt að fjarlægja með venjulegum Git aðgerðum (svo sem git commit(git inlegg)) sem sjálfkrafa kallar á git maintenance run --auto (git viðhald sjálfkrafa). (Sjá git-maintenance[1].) Ef þessi viðföng eru fjarlægð og hafa tilvísun í afrituðu hirslunni þá skrumskælist afritaða hirslan.

Athugaðu að nota skipunina git repack(git endurpakka) án --local (staðbundinn) valmöguleikans í hirslu sem hefur verið einrituð með --shared (deildur) mun afrita viðföng úr upptakahirslunni inn í pakka í einrituðu hirslunni og fjarlæga diskplássið sem sparaðist með clone --shared (einrita deildur). Það er hins vegar öruggt að nota git gc(garbace collection, git ruslasöfnun) sem notar --local(staðbundinn) valmöguleikann sem forstillingu.

Ef þú vilt rifta ákvæðatengslum hirslu við upptakahirsluna sem var einrituð með --shared(deildur) geturðu einfaldlega notað skipunina git repack -a(git endurpakka allt) til að afrita öll viðföng úr upptakahirslunni yfir í nýjan pakka í einrituðu hirslunni.

--reference[-if-able] <hirsla>

If the reference repository is on the local machine, automatically setup .git/objects/info/alternates to obtain objects from the reference repository. Using an already existing repository as an alternate will require fewer objects to be copied from the repository being cloned, reducing network and local storage costs. When using the --reference-if-able, a non existing directory is skipped with a warning instead of aborting the clone.

ATHUGASEMD: sjá ATHUGASEMD fyrir --shared(deildur) valmöguleikann, og einnig --dissociate(aðskilja) valmöguleikann.

--dissociate

Þessi valmöguleiki gerir það að verkum að viðföng úr tilvísunarhirslum sem skilgreindar eru með --reference (tilvísun) valmöguleikanum eru fengin lánuð einungis til þess að minnka netkerfisflutning, og eftir að einrit hefur verið gert með því að búa til nauðsynleg staðbundin afrit af þeim viðföngum sem voru fengið lánuð fellur lánið úr gildi. Þennan valmöguleika er einnig hægt að nota þegar verið er að einrita staðbundið frá hirslu sem nú þegar fær viðföng lánuð úr annari hirslu—​nýja hirslan mun fá lánuð viðföng úr sömu hirslu, þá er hægt að fella lánið úr gildi með honum.

-q
--quiet

Verka án frálags. Framvinda er ekki birt í stöðluðu villustreymi.

-v
--verbose

Sýna ferlisupplýsingar. Hefur ekki áhrif á birtingu framvindustöðu í stöðluðu villustreymi.

--progress

Staða framvindu er birt í stöðluðu villustreymi sem forstilling þegar það er tengt við útstöð, nema --quiet (án frálags) sé tilgreindur. Þessi valmöguleiki þvingar birtingu framvindustöðu jafnvel þó að staðlaða villustreyminu sé ekki beint í útstöð.

--server-option=<valmöguleiki>

Senda viðkomandi textastreng til netþjónsins þegar samskiptin eru samkvæmt samskiptareglum af gerð 2. Viðkomandi strengur má ekki innihalda NUL (innihaldslaust) eða LF (línuskipta-) tákn. Meðferð netþjónsins á netþjónsvalmöguleikum, þar með talið óþekktum valmöguleikum, er undir vefþjóninum komin. Þegar margir --server-option=<valmöguleiki> (netþjónsvalmöguleikar) eru gefnir upp eru þeir sendir yfir í þeirri röð sem þeir koma fyrir í á skipanalínunni.

-n
--no-checkout

Endurupptaka HAUS er ekki framkvæmd eftir að einritið er fullgert.

--[no-]reject-shallow

Misfarast ef upptakahirslan er grunn hirlsa. Hægt er að nota stillingabreytuna clone.rejectShallow til þess að tiltaka sjálfgefinn valmöguleika.

--bare

Þessi valmöguleiki býr til nakta Git hirslu. Það er að segja, í stað þess að búa til <skrá> og setja stjórnunarskrárnar í <skrá>/git. gerir hann <skrá> sjálfa $GIT_DIR`skrána. Þetta felur augljóslega í sér `--no-checkout(engin endurupptaka) vegna þess að það er ekki neinn staður til þar sem hægt er að endurupptaka verktréð. Einnig eru greinahausarnir sem eru fjarlægir afritaðir beint yfir í samsvarandi staðbundna greinahausa, án þess að kortleggja þá í refs/remotes/origin/(tilvísanir fjarlægjur uppruni). Þegar þessi valmöguleiki er notaður eru hvorki búnar til greinarnar sem eru undir fjareftirliti né tilheyrandi stillingabreytur.

--sparse

Employ a sparse-checkout, with only files in the toplevel directory initially being present. The git-sparse-checkout[1] command can be used to grow the working directory as needed.

--filter=<síutilgreiningar>

Nota möguleikann til hlutaeinritunar og mælast til þess að netþjónninn sendi undirsafn viðfanga sem hægt er að ná í samkvæmt ákveðinni viðfangasíu. Þegar --filter(sía) er uppgefið er <síutilgreining>`notuð til þess að sía hlutaeinritunina. Til dæmis `--filter=blob:none(sía slumma engin) mun sía út allar slummur (innihald skjals) þangað til Git þarf á þeim að halda. Einnig er hægt að nota --filter=blob:limit=<stærð>(sía slumma takmörk) til þess að sía út allar slummur af lágmarksstærð <stærð>. Fyrir meiri upplýsingar um tilgreiningar á síum, sjá --filter(sía) valmöguleikann í git-rev-list[1].

--also-filter-submodules

Also apply the partial clone filter to any submodules in the repository. Requires --filter and --recurse-submodules. This can be turned on by default by setting the clone.filterSubmodules config option.

--mirror

Setja upp spegilmynd af upptakahirslunni. Þetta felur í sér --bare(nakinn). Í samanburði við --bare(nakinn) þá kortleggur --mirror (spegilmynd) ekki bara staðbundnar greinar upprunans yfir í staðbundnar greinar áfangastaðarins, heldur kortleggur allar tilvísanir (þar með taldar greinar sem eru undir fjareftirliti, athugasemdir, o.s.frv.) og setur up stillingar fyrir tilvísanatilgreiningar þannig að allar þessar tilvísanir verði yfirritaðar með git remote update(git fjarlægja uppfærsla) í áfangastaðarhirslunni.

-o <nafn>
--origin <nafn>

Tiltakið <nafn> í staðinn fyrir að nota fjarlægjunafnið origin(uppruni) til þess að fylgjast með hirslunni í bakáttina. Ógildir clone.defaultRemoteName(einrita sjálfgefið fjarlægjunafn) úr stillingaskránni.

-b <nafn>
--branch <nafn>

Í stað þess að benda hinum nýskapaða HAUS á sömu grein og HAUS hinnar einrituðu hirslu bendir á, gefur `<nafn>`upp nýja grein til að benda á. Í ónaktri hirslu þá er þetta greinin sem verður útskráð. Valmöguleikinn `--branch`getur einnig tekið merki og losar af HAUS í viðeigandi innleggi í þeirri hirslu sem verður til við aðgerðina.

-u <upphalspakki>
--upload-pack <upphalspakki>

Þegar þessi valmöguleiki er uppgefinn, og aðgangur að hirslunni sem á að afrita er í gegn um ssh (secure shell, öryggisskel), þá skilgreinir hann óforstillta slóð fyrir skipunina sem framkvæmd er á hinum endanum.

--template=<template-directory>

Skilgreina skrá þar sem sniðmót eru geymd (sjá "SNIÐMÁTSSKRÁ" hluta git-init[1].)

-c <lykill>=<gildi>
--config <lykill>=<gildi>

Skilgreina stillingabreytu í hinni nýsköpuðu hirslu; þetta tekur gildi um leið og hirslan er frumstillt, en áður en að fjarlæg saga er sótt eða nein skjöl útskráð. Lykillin er með sama sniði og git-config[1] býst við (t.d. core.eol=true, kjarni línuending satt). Ef mörg gildi eru gefin fyrir sama lykil er hvert gildi skrifað í stillingaskrána. Þetta gerir það að verkum að til dæmis er öruggt að bæta við auka tilvísanatilgreiningum fyrir "sækja" í upprunafjarlægjuna.

Vegna takmarkana í þeirri útfærslu sem er í notkun byrja sumar stillingabreytur ekki að virka fyrr en eftir fyrsta "sækja" og "endurupptaka". Stillingabreytur sem vitað er að virka ekki eru: remote.<nafn>.mirror(fjarlæg spegilmynd) og remote.<nafn>.tagOpt(fjarlæg merki valfrjáls). Notaðu samsvarandi valmöguleika, --mirror(spegilmynd) og --no-tags(engin merki), í staðinn.

--depth <dýpt>

Búa til grunnt einrit með stytta sögu takmarkaða við uppgefinn fjölda innleggja. Felur í sér --single-branch (ein grein) nema --no-single-branch (ekki ein grein) sé gefið upp til þess að sækja sögu sem nær til enda allra greina. Ef þú vilt einrita undirverkeiningar grunnt, gefðu einnig upp --shallow-submodules (grunnar verkeiningar).

--shallow-since=<dagsetning>

Búa til grunnt einrit með sögu eftir tilgreindan tíma.

--shallow-exclude=<endurskoðun>

Búa til grunnt einrit með sögu, en útiloka innlegg sem hægt er að ná í frá tilgreindri fjargrein eða merki. Hægt er að nota þennan valmöguleika oft.

--[no-]single-branch

Einungis einrita sögu sem nær til enda einnar greinar sem er annað hvort grein tilgreind með --branch(grein) valmöguleikanum eða er aðalgreinin sem HAUS fjarlægjunnar bendir á. Þegar "sækja" er notað aftur á hirsluna sem verður til eru einungis gerðar uppfærslur á greinina sem var undir fjareftirliti fyrir þá grein sem þessi valmöguleiki var notaður á í upprunalegri einritun. Ef HAUS og fjarlægja bentu ekki á neina grein þegar --single-branch(ein grein) einritið ver gert er engin grein undir fjareftirliti búin til.

--no-tags

Ekki einrita nein merki, og tilgreina`remote.<fjarlægja>.tagOpt=--no-tags`(fjarlægja merki valmöguleikar, engin merki) í stillingaskránni, sem gerir það að verkum að í framtíðinni munu git pull (git draga) og`git fetch` (git sækja) ekki elta nein merki. Sérstakar skilgreiningar á merkjum þegar "sækja" er notað eftir á munu samt virka (sjá git-fetch[1]).

Hægt er að nota þennan valmöguleika í samfloti við --single-branch (ein grein) til þess að einrita og viðhalda grein sem hefur engar tilvísanir aðrar en ein einrituð grein. Þetta er nytsamlegt t.d. til þess að viðhalda lágmarkseinritum af forstilltri grein í einhverri hirslu svo hægt sé að leita í henni eftir atriðaskrá.

--recurse-submodules[=<slóðartilgreining>]

Frumstilla og einrita undirverkeiningar innan einrits byggt á uppgefinni slóðartilgreiningu eftir að einritið hefur verið búið til. Ef engin slóðatilgreining er gefin upp eru allar undirverkeiningar frumstilltar og einritaðar. Hægt er að tilgreina þennan valmöguleika oftar en einu sinni fyrir slóðatilgreiningar sem innihalda fleiri en eina færslu. Einritið sem verður til fær`submodule.active`(undirverkeining virk) stillt á viðkomandi slóðatilgreiningu, eða "." (þ.e. allar verkeiningar) ef engin slóðatilgreining er gefin upp.

Undirverkeiningar eru frumstilltar og einritaðar með sínum forstillingum. Þetta jafngildir því að nota git submodule update --init --recursive <slóðatilgreining> (git undirverkeining uppfæra frumstilla endurkvæmt) um leið og einritið er tilbúið. Þessi valmöguleiki er hunsaður er einritaða hirslan hefur ekki verktré/endurupptöku (þ.e. ef einver af valmöguleikunum --no-checkout/-n (engin endurupptaka), --bare (nakinn), eða --mirror(spegilmynd) eru gefnir upp)

--[no-]shallow-submodules

Allar undirverkeiningar sem eru einritaðar munu verða grunnar með dýpt 1.

--[no-]remote-submodules

Allar undirverkeiningar sem eru einritðaðar nota stöðu viðeigandi greinar undir fjareftirliti til þess að uppfæra undirverkeininguna, fremur en skráða SHA-1 öryggisundirskrift yfirverksins. Jafngildir því að gefa upp --remote(fjarlægja) með git submodule update (undirverkeining uppfæra).

--separate-git-dir=<git-skrá>

Í stað þess að setja einrituðu hirsluna þar sem hún á að vera, setja hana í tilgreinda skrá, og búa síðan til Git hlekk þangað sem er ómeðvitaður um skráasafnið. Árangurinn verður sá að Git hirslan verður aðskilin verktrénu.

-j <n>
--jobs <n>

Fjöldi undirverkeininga sem eru sóttar á sama tíma. Er forstillt samkvæmt submodule.fetchJobs (undirverkeining sæja verk) valmöguleikanum.

<hirsla>

Hirslan (mögulega fjarlæg) til þess að einrita frá. Sjá GIT URLS (vefslóð) hlutann hér fyrir neðan fyrir frekari upplýsingar um það hvernig á að tilgreina hirslur.

<skrá>

Nafn skrárinnar sem á að einrita í. Ef engin skrá er uppgefin er "mennsklegi" hluti upprunahirslunnar notaður (repo fyrir /path/to/repo.git og`foo` fyrir host.xz:foo/.git). Einungis er leyfilegt að einrita í skrá sem þegar er til ef hún er tóm.

--bundle-uri=<uri>

Before fetching from the remote, fetch a bundle from the given <uri> and unbundle the data into the local repository. The refs in the bundle will be stored under the hidden refs/bundle/* namespace. This option is incompatible with --depth, --shallow-since, and --shallow-exclude.

GIT VEFSLÓÐIR

In general, URLs contain information about the transport protocol, the address of the remote server, and the path to the repository. Depending on the transport protocol, some of this information may be absent.

Git supports ssh, git, http, and https protocols (in addition, ftp and ftps can be used for fetching, but this is inefficient and deprecated; do not use them).

Innbyggði milliflutningurinn (þ.e. git://VEFSLÓÐ) framkvæmir ekki neina sannvottun og ætti að notast með varúð í óöruggum netkerfum.

Með samskiptareglunum er hægt að nota eftirfarandi samsetningareglur:

  • ssh://[notandi@]hýsill.xz[:tengill]/slóð/til/hirsla.git/

  • git://hýsill.xz[:tengill]/slóð/til/hirsla.git/

  • http[s]://hýsill.xz[:tengill]/slóð/til/hirsla.git/

  • ftp[s]://hýsill.xz[:tengill]/slóð/til/hirsla.git/

Hægt er að nota aðrar SCP-líkar samsetningarreglur með SSH samskiptareglunum:

  • [notandi@]hýsill.xz:slóð/til/hirsla.git/

Þessar samsetningarreglur virka einungis ef það eru engin skástrik á undan fyrsta tvípunktinum. Þetta hjálpar til við að aðgreina staðbundna slóð sem inniheldur tvípunkt. Til dæmis er hægt að skilgreina staðbundnu slóðina foo:bar sem algilda slóð, eða ./foo:bar, til þess að forðast það að hún verði túlkuð sem SSH vefslóð.

Auk þess styðja SSH- og Git-samskiptareglurnar framlenginguna ~notandanafn:

  • ssh://[notandi@]hýsill.xz[:tengill]/~[notandi]/slóð/til/hirsla.git/

  • git://hýsill.xz[:tengill]/~[notandi]/slóð/til/hirsla.git/

  • [notandi@]hýsill.xz:/~[notandi]/slóð/til/hirsla.git/

Fyrir staðbundnar hirslur, sem Git hefur einnig innbyggðan stuðning fyrir, er hægt að nota eftirfarandi samsetninagrreglu:

  • /slóð/til/hirsla.git/

  • file:///slóð/til/hirsla.git/

Þessar reglur eru að mestu jafngildar, nema að fyrri reglan felur í sér --local (staðbundinn) valmöguleikann.

git clone (einrita), git fetch (sækja) og git pull (draga), but not git push (stjaka) samþykkja líka viðeigandi knippisskjal. Sjá git-bundle[1].

Þegar Git veit ekki hvernig á að meðhöndla ákveðna flutningsreglu reynir það að nota remote-<flutningur> (fjarlægja) hjálpargagn, ef það er til. Til þess að biðja sértstaklega um fjarlægjuhjálpargagn er hægt að nota eftirfarandi samsetningarreglu:

  • <flutningur>::<fang>

þar sem <fang> getur verið slóð, netþjónn og slóð, eða einhver strengur líkur veffangi sem viðkomandi fjarlægjuhjálpargagn þekkir. Sjá gitremote-helpers[7] fyrir frekari upplýsingar.

Ef um er að ræða mikinn fjölda fjarlægra hirsla með svipuð heiti og þú vilt nota annað snið fyrir þær (svo að vefslóðirnar sem þú notar verði endurskrifaðar yfir í vefslóðir sem virka) geturðu búið til stillingareiningu með:

	[url "<actual-url-base>"]
		insteadOf = <other-url-base>

Til dæmis, með þessu:

	[url "git://git.hýsill.xz/"]
		insteadOf = hýsill.xz:/slóð/til/
		insteadOf = vinna:

vefslóð eins og "vinna:hirsla.git" eða "hýsill.xz:/slóð/til/hirsla.git" verða endurskrifaðar í öllum samhengjum semtaka vefslóð til þess að vera "git://git.hýsill.xz/hirsla.git".

Ef þú vilt endurskrifa vefslóðir einungis þegar þú stjakar, þá geturðu búið til stillingareiningu með sniðinu:

	[url "<actual-url-base>"]
		pushInsteadOf = <other-url-base>

Til dæmis, með þessu:

	[url "ssh://dæmi.org/"]
		pushInsteadOf = git://dæmi.org/

vefslóð eins og "git://dæmi.org/slóð/til/hirsla.git" verður endurskrifuð sem "ssh://dæmi.org/slóð/til/hirlsa.git" þegar þú stjakar, en upprunalega vefslóðin verður notuð þegar þú dregur.

DÆMI

  • Einrita í bakátt:

    $ git clone git://git.kernel.org/pub/scm/.../linux.git mitt-línux
    $ cd mitt-línux
    $ make
  • Búa til staðbundið einrit sem fær lánað úr núgildandi skrá, án þess að útskrá neitt:

    $ git clone -l -s -n . ../afrit
    $ cd ../afrit
    $ git show-branch
  • Einrita í bakátt á meðan fengið er lánað frá staðbundinni skrá sem þegar er til:

    $ git clone --reference /git/linux.git \
    	git://git.kernel.org/pub/scm/.../linux.git \
    	mitt-línux
    $ cd mitt-línux
  • Búa til nakta hirslu til þess að birta breytingar þínar almenningi:

    $ git clone --bare -l /home/proj/.git /pub/scm/proj.git

CONFIGURATION

Warning

Missing is/includes/cmd-config-section-all.txt

See original version for this content.

Warning

Missing is/config/init.txt

See original version for this content.

Warning

Missing is/config/clone.txt

See original version for this content.

GIT

Hluti af git[1] fylkingunni

scroll-to-top