Setup and Config
Getting and Creating Projects
Basic Snapshotting
Branching and Merging
Sharing and Updating Projects
Inspection and Comparison
Patching
Debugging
External Systems
Server Admin
Guides
- gitattributes
- Command-line interface conventions
- Everyday Git
- Frequently Asked Questions (FAQ)
- Glossary
- Hooks
- gitignore
- gitmodules
- Revisions
- Submodules
- Tutorial
- Workflows
- All guides...
Administration
Plumbing Commands
- 2.34.1 no changes
- 2.34.0 11/15/21
- 2.25.1 → 2.33.1 no changes
- 2.25.0 01/13/20
- 2.22.1 → 2.24.4 no changes
- 2.22.0 06/07/19
- 2.21.1 → 2.21.4 no changes
- 2.21.0 02/24/19
- 2.18.1 → 2.20.5 no changes
- 2.18.0 06/21/18
- 2.17.0 → 2.17.6 no changes
- 2.16.6 12/06/19
- 2.15.4 no changes
- 2.14.6 12/06/19
- 2.11.4 → 2.13.7 no changes
- 2.10.5 09/22/17
- 2.8.6 → 2.9.5 no changes
- 2.7.6 07/30/17
- 2.5.6 → 2.6.7 no changes
- 2.4.12 05/05/17
- 2.3.10 09/28/15
SAMANTEKT
git add [--verbose | -v] [--dry-run | -n] [--force | -f] [--interactive | -i] [--patch | -p] [--edit | -e] [--[no-]all | --[no-]ignore-removal | [--update | -u]] [--sparse] [--intent-to-add | -N] [--refresh] [--ignore-errors] [--ignore-missing] [--renormalize] [--chmod=(+|-)x] [--pathspec-from-file=<file> [--pathspec-file-nul]] [--] [<pathspec>…]
ÚTSKÝRING
Þessi skipun uppfærir atriðaskrána með því að nota það innihald sem finnst í verktrénu á þeirri stundu, til þess að undirbúa innihaldið sem hefur verið staðhæft fyrir næsta innlegg. Hún bætir venjulega við því innihaldi sem er til staðar í heild, en með sumum valmöguleikum er einnig hægt að nota hana til þess að bæta við innihaldi þar sem einungis hluti þeirra breytinga sem hafa verið gerðar í verktrénu eru lagðar við, eða til að fjarlægja slóðir sem eru ekki lengur til í verktrénu.
"index"-inn (atriðaskráin) inniheldur tækifærismynd af innihaldi verktrésins, og það er þessi mynd sem er tekin sem innihald næsta innleggs. Þannig að eftir að þú hefur gert breytingar á verktrénu, og áður en þú setur af stað skipun um nýtt innlegg, verðurðu að nota add
(bæta við) skipunina til þess að bæta við öllum nýjum og breyttum skjölum í atriðaskrána.
Hægt er að framkvæma þessa skipun oft áður en innlegg er staðfest. Hún bætir einungis við innihaldi skjals/skjala sem eru tiltekin þegar skipunin um að bæta við er sett í gang; ef þú vilt að breytingar sem gerðar eru seinna séu innifaldar í næsta innleggi verður þú að nota git add
(git bæta við) skipunina aftur til þess að bæta nýju innihaldi í atriðaskrána.
Hægt er að nota git status
(git staða) skipunina til þess að fá samantekt á því hvaða skjöl innihalda breytingar sem eru staðhæfðar fyrir næsta innlegg.
Skipunin git add
(git bæta við) er forstillt þannig að skjöl sem merkt eru sem hunsuð eru ekki tekin með. Ef skjölum sem merkt eru sem hunsuð er sérstaklega bætt í skipunina mun git add
misfarast og gefa upp lista af hunsuðum skjölum. Hunsuð skjöl sem hitt er á í rakningu skráasafna eða skjalaklumpun (skilgreinið klumpana áður en skipun er framkvæmd í skelinni) sem Git framkvæmir verða hunsuð án endursvars. Hægt er að nota git add
skipunina til þess að bæta við hunsuðum skjölum með valkostinum -f
(force, þvinga).
Vinsamlegast skoðið git-commit[1] fyrir aðrar leiðir til þess að bæta innihaldi við innlegg.
VALMÖGULEIKAR
- <slóðatilgreining> …
-
Skjöl sem innihald er fengið úr. Hægt er að tilgreina skjalaklumpa (t.d.
*.c
) til þess að bæta við öllum skjölum sem eiga við. Einnig er hægt að tilgreina ákveðna skrá á undan (t.d.skrá
til að bæta viðskrá/skjal1
ogskrá/skjal2
) til þess að uppfæra atriðaskrána svo hún passi við núverandi ástand skrárinnar í heild (t.d. efskrá
er tilgreind verða ekki einungis skjalið`skrá/skjal1` sem var breytt í verktrénu, og skjalið`skrá/skjal2`sem var bætt við verktréð teknar með, heldur einnig skjaliðskrá/skjal3
sem var eytt úr verktrénu). Athugið að eldri útgáfur af Git hunsa skjöl sem hafa verið fjarlægð; notið--no-all
(ekki allt) valmölguleikann ef þú vilt bæta við breyttum og nýjum skjölum en hunsa þau sem hafa verið fjarlægð.Fyrir meiri upplýsingar um samsetningareglur <slóðatilgreiningar> , sjá færsluna fyrir pathspec í gitglossary[7] skýringaskránni.
- -n
- --dry-run
-
Ekki bæta skjalinu/skjölunum við, heldur einungis sýna hvort að þau séu til og/eða verði hunsuð.
- -v
- --verbose
-
Sýna ferlisupplýsingar.
- -f
- --force
-
Leyfa það að bæta við skjölum sem annars væru hunsuð.
- --sparse
-
Allow updating index entries outside of the sparse-checkout cone. Normally,
git add
refuses to update index entries whose paths do not fit within the sparse-checkout cone, since those files might be removed from the working tree without warning. See git-sparse-checkout[1] for more details. - -i
- --interactive
-
Bætið innihaldi sem hefur breyst gagnvirkt við atriðaskrána. Hægt er að bæta valfrjálsum slóðarbreytum við skipanir til þess að takmarka aðgerðir við undirgrein verktrésins. Sjá “Gagnvirkt fyrirkomulag” fyrir frekari upplýsingar.
- -p
- --patch
-
Velja gagnvirkt stykki úr viðbótum á milli atriðaskráarinnar og vinnutrésins og bætið þeim við atriðaskrána. Þetta gefur notandanum tækifæri til þess að yfirfara mismuninn áður en hinu breytta innihaldi verður bætt við atriðaskrána.
Þetta jafngildir að einhverju leyti skipuninni
add --interactive
(bæta við gagnvirkt), en stekkur yfir upphafshluta skipunarinnar og fer beint í undirskipuninapatch
(viðbætur). Sjá “Gagnvirkt fyrirkomulag” fyrir frekari upplýsingar. - -e
- --edit
-
Opna mismunaskrána gagnvart atriðaskránni og leyfa notandanum að breyta henni. Eftir að ritvinnsluforritinu er lokað, aðlaga stykkjahausana og leggja viðbæturnar við atriðaskrána.
Tilgangur þessa valmöguleika er að velja sérstakar línur í viðbótunum til þess að leggja við, eða jafnvel breyta innihaldi þeirra lína sem á að staðhæfa. Þetta getur verið fljótlegra og sveigjanlegra heldur en að nota gagnvirka stykkjavalið. Hins vegar er auðvelt að ruglast að búa til viðbætur sem leggjast ekki við atriðaskrána. Sjá AÐ BREYTA VIÐBÓTUM hér fyrir neðan.
- -u
- --update
-
Uppfæra atriðaskrána einungis þar sem nú þegar er færsla sem passar við <slóðartilgreining>. Þetta fjarlægir og breytir færslum í atriðaskránni til þess að hún passi við verktréð, en bætir ekki við neinum nýjum skjölum.
Ef engin <slóðatilgreining> er gefin þegar
-u
(update, uppfæra) valmöguleikinn er notaður, eru öll skjöl undir eftirliti í öllu verktrénu uppfærð (eldri útgáfur af Git takmörkuðu uppfærsluna við þá skrá sem verið var að vinna í og undirskrár hennar). - -A
- --all
- --no-ignore-removal
-
Ekki bara uppfæra atriðaskrána þegar verktréð inniheldur skjal sem passar við <slóðatilgreining> heldur einnig þegar atriðaskráin inniheldur færslu nú þegar. Þetta bætir við, breytir, og fjarlægir færslur úr atriðaskránni til þess að passa við verktréð.
Ef engin <slóðatilgreining> er gefin þegar
-A
(all, allt) valmöguleikinn er notaður, eru öll sjöl í vinnutrénu uppfærð (eldri útgáfur af Git takmörkuðu uppfærsluna við þá skrá sem verið var að vinna í og undirskrár hennar). - --no-all
- --ignore-removal
-
Uppfæra atriðaskrána með því að bæta við skjölum sem finnast ekki í atriðaskránni og skjöl sem hefur verið breytt í verktrénu, en hunsa skjöl sem búið er að fjarlægja úr verktrénu. Þessi valmöguleiki er slæpi þegar engin <slóðatilgreining> er notuð (þ.e.a.s. gerir ekki neitt).
Þessi valmöguleiki er fyrst og fremst til þess að hjálpa notendum sem eru vanir eldri útgáfum af Git, þar sem "git add <slóðatilgreining>…" var samheiti fyrir "git add --no-all <slóðatilgreining>…", þ.e. hunsa skjöl sem hafa verið fjarlægð.
- -N
- --intent-to-add
-
Einungis skrá að slóðinni verði bætt við síðar. Færsla er búin til fyrir slóðina og sett í atriðaskrána án innihalds. Þetta er meðal annars nytsamlegt til þess að sýna óstaðhæft innihald slíkra skráa með
git diff
(git mismunaskrá) og að leggja þær inn meðgit commit -a
(git innlegg allt). - --refresh
-
Ekki bæta skjalinu/skjölunum við, einungis uppfæra stat() (staða) upplýsingar í atriðaskránni.
- --ignore-errors
-
Ef ekki er hægt að bæta við skjölum vegna villna við skráningu, ekki hætta við aðgerðina heldur halda áfram að bæta öðrum skjölum við. Skipuninni mun samt ljúka í "ekki núll" stöðu, þ.e. ekki villulaust. Hægt er að skrá breytuna
add.ignoreErrors
(hunsa villur í viðbótum) sem "true" (satt) til þess að þetta sé forstillt hegðun. - --ignore-missing
-
Þennan valmöguleika er einungis hægt að nota með --dry-run (forprófun). Með því að nota þennan valmöguleika getur notandinn athugað hvort einhver af viðkomandi skjölum verði hunsuð, alveg sama hvort þau eru nú þegar í verktrénu eða ekki.
- --no-warn-embedded-repo
-
Forstilling skipunarinnar
git add
mun vara notandann við þegar innfelldri hirslu er bætt við atriðaskrána án þess að notagit submodule add
(git bæta við undirskipaðri verkeiningu) til þess að búa til færslu í.gitmodules
(verkeiningar í git). Þessi valmöguleiki mun þagga viðvörunina (þ.e. ef þú ert handvirkt að framkvæma aðgerðir á undirskipuðum verkeiningum). - --renormalize
-
Leggið "hreint" ferli ferskt á öll skjöl undir eftirliti til að þvinga þær inn í atriðaskrána. Þetta er nytsamlegt eftir að hafa breytt
core.autocrlf
(sjálfvirkt CRLF (carriage return line feed, línuskipti með sleðafærslu (Windows)) í kjarna) stillingunum eðatext
(texti) eigindunum til þess að leiðrétta skjöl með röngum CRLF/LF línuendingum. Þessi valmöguleiki felur í sér-u
(update, uppfæra). - --chmod=(+|-)x
-
Taka ekki tilliti til keyranlega hluta þeirra skjala sem bætt er við. Keyranlegu hlutunum er einungis breytt í atriðaskránni, skjölin á diskdrifinu eru óbreytt á eftir.
- --pathspec-from-file=<skjal>
-
Slóðatilgreiningar eru sendar til skipunarinnar í
<skjal>
í staðinn fyrir að gera það með breytum á skipanalínunni. Ef<skjal>
er návkæmlega-
er staðalílag notað, þ.e. það sem viðkomandi forrit telur hefðbundna ílagsaðferð. Sératriði í slóðatilgreiningaskránni skal aðskilja með LF (almennu línuendatákni) eða CR/LF (Windows línuendatákni). Hægt er að setja sératriði í gæsalappir eins og útskýrt er í sambandi við stillingarbreytunacore.quotePath
(tilvísun slóðar í kjarna) (sjá git-config[1], git stillingar). Sjá einnig--pathspec-file-nul
(ekkert skjal fyrir slóðartilgreiningu) og altækar--literal-pathspecs
(bóksaflegar slóðatilgreiningar) stillingar. - --pathspec-file-nul
-
Hefur einungis merkingu með
--pathspec-from-file
(slóðatilgreiningar úr skali). Sératriði slóðatilgreiningar eru aðskild með NUL (merkingarlaus) tákni og öll önnur tákn eru tekin bókstaflega (þar með talin nýlínutákn og gæsalappir). - --
-
Hægt er að nota þennan valmöguleika til þess að aðskilja valmöguleika skipanalínunnar frá skjalalistanum (hjálplegt þegar skjalanöfn gætu verið mistekin fyrir skipanalínuvalmöguleika).
DÆMI
-
Bætir innihaldi allra
*.txt
(textaskjöl) íDocumentation
(leiðbeiningasafn) skránni og undirskrám hennar:$ git add Documentation/\*.txt
Athugið að stjarnan
*
er í gæsalöppum í þessu dæmi; þetta leyfir skipuninni að taka með skjöl úr undirskrámDocumentation/
(leiðbeiningaskrá). -
Íhugar að bæta við innihaldi úr öllum git-*.sh (forrit fyrir skel) forritlingum:
$ git add git-*.sh
Vegna þess að þetta dæmi leyfir skelinni að útvíkka stjörnuna (þ.e. þú ert að lista skjölin beint), tekur hún ekki til greina`undirskrá/git-foo.sh`(þú hefur einungis tilgreint skjöl í þessari skrá).
GAGNVIRKT FYRIRKOMULAG
Þegar skipunin er framkvæmd með gagnvirku fyrirkomulagi, sýnir hún frálag status (staða) undirskipunarinnar, og fer svo yfir í gagnvirku skipanalykkjuna.
Skipanalykkjan sýnir lista yfir þær undirskipanir sem eru tiltækar, og kvaðninguna "What now> " (hvað nú). Almennt þegar kvaðning á skipanalínu endar með einum oddklofa, >, getur þú valið einn af þeim möguleikum sem eru uppgefnir og ýtt á nýlínutakkann (enter), svona:
*** Skipanir*** 1: status 2: update 3: revert 4: add untracked 5: patch 6: diff 7: quit 8: help What now> 1
Þú getur einnig notað s
eða sta
eða status
(staða) hér fyrir ofan svo lengi sem valið er sérstakt.
Aðalskipanalykkjan hefur 6 undirskipanir (fyrir utan hjálp og hætta).
- status
-
Þessi skipun sýnir breytingar á milli HAUS og atriðaskrár (þ.e. það sem verður lagt inn ef þú gefur skipunina
git commit
(git inlegg)), og á milli atriðaskrárinnar og skjala í verktrénu (þ.e. það sem þú gætir staðhæft frekar með því að notagit add
(git bæta við) áður en þú notargit commit
(git inlegg)) fyrir hverja slóð. Frálagssýnishorn lítur svona út:staðhæft óstaðhæft slóð 1: tvíundargögn ekkert foo.png 2: +403/-35 +1/-1 git-add--interactive.perl
Það sýnir að mismunur er í skjalinu foo.png frá HAUS (en það er úr tvíundargögnum svo ekki er hægt að sýna hann) og að það er enginn munur á milli eintaks þess í atriðaskránni og eintaksins í verktrénu (ef útgáfan innihéldi einnig gagnamismun myndi standa tvíundargögn í staðinn fyrir ekkert). Hitt skjalið, git-add--interactive.perl, inniheldur 403 línur sem verður bætt við og 35 línur sem verður eytt ef þú leggur inn það sem er í atriðaskránni , en útgáfa skjalsins í verktrénu inniheldur einnig frekari breytingar (ein viðbót og ein brottfelling).
- update
-
Þessi skipun sýnir upplýsingar um stöðu gagna og setur fram kvaðninguna "Update>>" (uppfærsla). Þegar kvaðning endar með tvöföldum oddklofa, >>, getur þú valið fleiri en eina skipun með bil eða kommu á milli. Þú getur einnig tilgreint seilingar. T.d. "2-5 7,9" til að velja 2,3,4,5,7,9 úr listanum. Ef seinni tölunni er sleppt úr tilgreiningu seilingar, tekur skipunin með allar viðbætur sem eru eftir. T.d. "7-" til að velja 7,8,9 úr listanum. Þú getur tilgreint * til þess að velja allt.
Það sem þú velur er þá auðkennt með stjörnu, *, svona:
staðhæft óstaðhæft slóð 1: tvíundargögn ekkert foo.png * 2: +403/-35 +1/-1 git-add--interactive.perl
Til þess að fjarlægja val er sett mínus,
-
, á undan ílaginu, svona:Update>> -2
Eftir að hafa valið það sem áætlað er að uppfæra þarf að svara skipuninni með tómri línu til þess að staðhæfa innihald þeirra skjala í verktrénu sem samsvara völdum slóðum í atriðaskránni.
- revert
-
Þessi skipun hefur mjög svipað viðmót og update (uppfæra), og staðhæfðu upplýsingarnar fyrir valdar slóðir eru bakfærðar til HAUS útgáfunnar. Þegar nýjar slóðir eru bakfærðar eru þær ekki lengur undir eftirliti.
- add untracked
-
Þessi skipun hefur mjög svipað viðmót og update (uppfæra) og revert (bakfæra) og leyfir þér að bæta slóðum sem ekki eru undir eftirliti við atriðaskrána.
- patch
-
Þessi skipun gefur þér möguleika á að velja eina slóð úr mengi sem líkist status (staða). Eftir að hafa valið slóðina setur skipunin fram mismunaskrá á milli skjalsins í atriðaskránni og skjalsins í verktrénu og spyr hvort þú viljir staðfæra breytingar hvers stykkis fyrir sig. Þú getur valið einhvern af eftirfarandi valmöguleikum og ýtt á nýlínutakkann:
y - staðhæfa þetta stykki n - ekki staðhæfa þetta stykki q - hætta (quit); ekki staðhæfa þetta stykki eða neitt af þeim sem eftir eru a - staðhæfa þetta stykki og öll sem eftir eru d - ekki staðhæfa þetta stykki eða neitt af þeim sem eftir eru g - velja stykki til að færa sig til / - velja stykki sem passar við uppgefna reglusegð j - skilja þetta stykki eftir óútkljáð, sjá næsta óútkljáða stykki J - skilja þetta stykki eftir óútkljáð, sjá næsta stykki k - skilja þetta stykki eftir óútkljáð, sjá fyrra óútkljáða stykki K - skilja þetta stykki eftir óútkljáð, sjá fyrra stykki s - skipta viðkomandi stykki í minni stykki e - breyta viðkomandi stykki handvirkt ? - prenta hjálp
Eftir að hafa ákveðið örlög allra stykkja, ef einhver stykki voru valin, er atriðaskráin uppfærð með völdum stykkjum.
Þú getur sleppt því að þurfa að ýta á nýlínutakkann hér með því að gefa stillingabreytunni
interactive.singleKey
(gagnvirkur einn takki) gildiðtrue
(satt). - diff
-
Þessi skipun leyfir þér að skoða yfir hvað verður lagt inn (þ.e. á milli HAUS og atriðaskrár).
AÐ BREYTA VIÐBÓTUM
Með því að gefa skipunina git add -e
(git bæta við með breytingum) eða að velja e
(edit, breyta) þegar stykki eru valin gagnvirkt opnar þú viðbætur í ritvinnsluforritinu þínu; eftir að ritvinnsluforritið lokast er breytingunum bætt við atriðaskrána. Þér er frjálst að breyta viðbótunum eins og þér sýnist, en athugaðu að sumar breytingar gætu haft ruglandi afleiðingar, eða jafnvel komið í veg fyrir að viðbótunum sé bætt við atriðaskrána. Ef þú vilt hætta alveg við þess aðgerð (þ.e. ekki staðhæfa neitt nýtt yfir í atriðaskrána), þá einfaldlega eyðirðu öllum línunum úr viðbótunum. Listinn hér fyrir neðan lýsir nokkrum algengum hlutum sem þú gætir séð í viðbótum, og hvaða aðgerðir til breytinga er gáfulegt að nota á þá.
- innihald sem bætt hefur verið við
-
Innihald í skjali sem bætt hefur verið við er merkt með plús, "+". Þú getur komið í veg fyrir staðhæfingu slíkra lína með því að eyða þeim.
- Innihald sem hefur verið fjarlægt
-
Innihald skjals sem hefur verið fjarlægt er merkt í byrjun línu með mínus, "-". Þú getur komið í veg fyrir að þær séu fjarlægðar við staðhæfingu með því að breyta mínusnum í bil, " ".
- Innihald sem hefur verið breytt
-
Innihald skjals sem hefur verið breytt er merkt með mínus "-" við línuna sem hefur verið breytt (sem fjarlægir gamla innihaldið) og þeirri línu fylgja línur merktar með plús, "+" (sem bæta inn því innihaldi sem kemur í staðinn). Þú getur komið í veg fyrir að þessar breytingar séu staðhæfðar með því að breyta mínusnum í bil, " ", og fjarlægja þær línur sem merktar eru með plús. Varaðu þig á því að breyta aðeins öðru hvoru (mínus í bil eða fjarlægja plúsmerktrar línur) getur valdið ruglandi breytingum í atriðaskránni.
Til eru flóknari aðgerðir sem hægt er að framkvæma. En varaðu þig á því að vegna þess að viðbæturnar eru einungis færðar inn í atriðaskrána en ekki verktréð lítur það út eins og verktréð "afturkalli" breytingarnar í atriðaskránni. Til dæmis, ef þú bætir við nýrri línu í atriðaskránni sem er hvorki í HAUS né verktré mun staðhæfa nýju línuna fyrir næsta innlegg en hún mun birtast eins og hún hafi verið afturkölluð í vektrénu.
Varist að nota eftirfarandi aðgerðir, eða notið þær með mikilli varúð.
- Að fjarlægja óbreytt innihald
-
Innihald skjals sem er eins í atriðaskrá og verktré er sýnt sem línur sem byrja á bili, " ". Þú getur staðhæft slíkar línur til að vera fjarlægðar með því að breyta bilinu í mínus, "-". Afleiðing þess er að í verktrénu mun líta svo út að línunni hafi verið bætt inn í skjalið aftur.
- Að breyta innihaldi skjalsins
-
Það er líka hægt að breyta línum með því að staðhæfa þær til að verða fjarlægðar (með því að breyta bili, " ", í mínus, "-") og að bæta við plúslínu ("+") með nýja innihaldinu. Á sama hátt er hægt að breyta plúslínum sem gefa til kynna breytingar og viðbætur í skjalinu. Í öllum tilfellum mun líta svo út að nýju breytingarnar hafi verið afturkallaðar í verktrénu.
- Að bæta við nýju innihaldi
-
Þú getur líka bætt við nýju innihaldi sem ekki var í viðbótunum fyrir; bættu einfaldlega við nýjum línum, og merktu hverja þeirra með plús, "+". Hver breyting mun líta út eins og afturkölluð í verktrénu.
Einnig eru fjölmargar aðgerðir sem forðast ætti algjörlega, þar sem þær gera það ómögulegt að leggja viðbæturnar við:
-
Að bæta við (" ") línum eins og þær séu þegar til eða fjarlæga ("-") línur sem ekki eru til í skjalinu
-
Að eyða línum sem eru til (" ") eða línum sem á að fjarlægja ("-")
-
Að breyta innihaldi lína sem eru til (" ") eða á að fjarlægja ("-")
GIT
Hluti af git[1] fylkingunni