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.54.0
2026-04-20
-
2.53.0
2026-02-02
-
2.52.0
2025-11-17
- 2.51.2 no changes
-
2.51.1
2025-10-15
-
2.51.0
2025-08-18
- 2.50.1 no changes
-
2.50.0
2025-06-16
- 2.49.1 no changes
-
2.49.0
2025-03-14
- 2.48.1 â 2.48.2 no changes
-
2.48.0
2025-01-10
- 2.45.1 â 2.47.3 no changes
-
2.45.0
2024-04-29
- 2.43.3 â 2.44.4 no changes
-
2.43.2
2024-02-13
- 2.43.1 no changes
-
2.43.0
2023-11-20
- 2.42.1 â 2.42.4 no changes
-
2.42.0
2023-08-21
- 2.41.1 â 2.41.3 no changes
-
2.41.0
2023-06-01
- 2.40.1 â 2.40.4 no changes
-
2.40.0
2023-03-12
- 2.39.1 â 2.39.5 no changes
-
2.39.0
2022-12-12
- 2.38.1 â 2.38.5 no changes
-
2.38.0
2022-10-02
- 2.37.1 â 2.37.7 no changes
-
2.37.0
2022-06-27
- 2.36.1 â 2.36.6 no changes
-
2.36.0
2022-04-18
- 2.35.1 â 2.35.8 no changes
-
2.35.0
2022-01-24
- 2.33.3 â 2.34.8 no changes
-
2.33.2
2022-03-23
-
2.33.1
2021-10-12
-
2.33.0
2021-08-16
- 2.32.1 â 2.32.7 no changes
-
2.32.0
2021-06-06
- 2.31.1 â 2.31.8 no changes
-
2.31.0
2021-03-15
- 2.30.1 â 2.30.9 no changes
-
2.30.0
2020-12-27
- 2.29.1 â 2.29.3 no changes
-
2.29.0
2020-10-19
- 2.28.1 no changes
-
2.28.0
2020-07-27
- 2.27.1 no changes
-
2.27.0
2020-06-01
- 2.26.1 â 2.26.3 no changes
-
2.26.0
2020-03-22
- 2.25.1 â 2.25.5 no changes
-
2.25.0
2020-01-13
- 2.24.1 â 2.24.4 no changes
-
2.24.0
2019-11-04
- 2.23.1 â 2.23.4 no changes
-
2.23.0
2019-08-16
- 2.22.1 â 2.22.5 no changes
-
2.22.0
2019-06-07
- 2.21.1 â 2.21.4 no changes
-
2.21.0
2019-02-24
- 2.20.1 â 2.20.5 no changes
-
2.20.0
2018-12-09
- 2.19.3 â 2.19.6 no changes
-
2.19.2
2018-11-21
- 2.17.1 â 2.19.1 no changes
-
2.17.0
2018-04-02
-
2.16.6
2019-12-06
-
2.15.4
2019-12-06
-
2.14.6
2019-12-06
-
2.13.7
2018-05-22
-
2.12.5
2017-09-22
-
2.11.4
2017-09-22
-
2.10.5
2017-09-22
-
2.9.5
2017-07-30
-
2.8.6
2017-07-30
-
2.7.6
2017-07-30
-
2.6.7
2017-05-05
-
2.5.6
2017-05-05
-
2.4.12
2017-05-05
-
2.3.10
2015-09-28
-
2.2.3
2015-09-04
-
2.1.4
2014-12-17
-
2.0.5
2014-12-17
BESKRIVNING
Lista incheckningar som kan nÄs genom att följa parent-lÀnkarna frÄn de angivna incheckningarna, men exkludera incheckningar som kan nÄs frÄn de som anges med ett {caret} framför sig. Utdata ges som standard i omvÀnd kronologisk ordning.
Du kan tÀnka pÄ detta som en mÀngdoperation. Incheckningar som kan nÄs frÄn nÄgon av de incheckningar som anges pÄ kommandoraden bildar en mÀngd, och sedan subtraheras incheckningar som kan nÄs frÄn nÄgon av dem som anges med ^ framför frÄn den mÀngden. De ÄterstÄende incheckningarna Àr det som visas i kommandots utdata. Olika andra alternativ och sökvÀgsparametrar kan anvÀndas för att ytterligare begrÀnsa resultatet.
SÄledes, följande kommando:
$ git rev-list foo bar ^baz
betyder "lista alla incheckningar som Àr nÄbara frÄn foo eller bar, men inte frÄn baz".
En sÀrskild notation "<inchecking1>..<inchecking2>" kan anvÀndas som en förkortning för "^<inchecking1> <inchecking2>". Till exempel, kan nÄgot av följande anvÀndas omvÀxlande:
$ git rev-list origin..HEAD $ git rev-list HEAD ^origin
En annan speciell notation Àr "<inchecking1>...<inchecking2>" vilket Àr anvÀndbart för sammanslagningar. Den resulterande uppsÀttningen commits Àr den symmetriska skillnaden mellan de tvÄ operanderna. Följande tvÄ kommandon Àr ekvivalenta:
$ git rev-list A B --not $(git merge-base --all A B) $ git rev-list A...B
rev-list Àr ett viktigt Git-kommando eftersom det ger möjlighet att bygga och gÄ igenom incheckning-hÀrkomst-grafer. Av denna anledning har det mÄnga olika alternativ som gör att det kan anvÀndas av kommandon sÄ olika som git bisect och git repack.
ALTERNATIV
BegrÀnsning av incheckningar
Förutom att ange ett intervall av incheckningar som ska listas med hjÀlp av de speciella notationer som förklaras i beskrivningen kan ytterligare begrÀnsningar av incheckningar tillÀmpas.
Att anvÀnda fler alternativ begrÀnsar generellt sett utdata ytterligare (t.ex. --since=<datum1> begrÀnsar till incheckningar nyare Àn <datum1>, och att anvÀnda det med --grep=<mönster> begrÀnsar ytterligare till incheckningar vars loggmeddelande har en rad som matchar <mönster>), om inget annat anges.
Observera att dessa tillÀmpas före alternativ för incheckningsordning och formatering, sÄsom --reverse.
-
-<nummer> -
-n<nummer> -
--max-count=<nummer> -
BegrÀnsa utdata till <nummer> incheckningar.
-
--skip=<nummer> -
Hoppa över <nummer> incheckningar innan incheckningsutdata visas.
-
--since=<datum> -
--after=<datum> -
Visa incheckningar som Àr nyare Àn <datum>.
-
--since-as-filter=<datum> -
Visa alla incheckningar som Àr nyare Àn <datum>. Detta besöker alla incheckningar i intervallet, i stÀllet för att stanna vid den första incheckningen som Àr Àldre Àn <datum>.
-
--until=<datum> -
--before=<datum> -
Visa incheckningar Àldre Àn <datum>.
-
--max-age=<tidsstÀmpel> -
--min-age=<tidsstÀmpel> -
BegrÀnsa incheckningsutdata till angivet tidsintervall.
-
--author=<mönster> -
--committer=<mönster> -
BegrÀnsa utdata för incheckningar till de med författar/incheckare-huvud-rader som matchar det reguljÀra uttrycket <mönster>. Med mer Àn ett
--author=<mönster> vÀljs incheckningar vars författare matchar nÄgon av <mönster> (pÄ samma sÀtt för flera--committer=<mönster>). -
--grep-reflog=<mönster> -
BegrÀnsa utdata för incheckningar till de med reflog-poster som matchar det reguljÀra uttrycket <mönster>. Med mer Àn ett
--grep-reflogvÀljs incheckningar vars reflog-meddelande matchar nÄgot av de givna mönstren. Det Àr ett fel att anvÀnda det hÀr alternativet om inte--walk-reflogsanvÀnds. -
--grep=<mönster> -
BegrÀnsa utdata för incheckningar till de med ett loggmeddelande som matchar det reguljÀra uttrycket <mönster>. Med mer Àn ett
--grep=<mönster> vÀljs incheckningar vars meddelande matchar nÄgon av <mönster> (men se--all-match). -
--all-match -
BegrÀnsa utdata till de incheckningar som matchar alla givna
--grep, i stÀllet för de som matchar minst en. -
--invert-grep -
BegrÀnsa utdata till de incheckningar med ett loggmeddelande som inte matchar <mönster> som anges med
--grep=<mönster>. -
-i -
--regexp-ignore-case -
Matcha de reguljÀra uttrycks begrÀnsande mönstren utan hÀnsyn till gemener och versaler.
-
--basic-regexp -
Betrakta de begrÀnsande mönstren som grundlÀggande reguljÀra uttryck; detta Àr standardinstÀllningen.
-
-E -
--extended-regexp -
Behandla de begrÀnsande mönstren som utökade reguljÀra uttryck i stÀllet för de grundlÀggande reguljÀra standarduttrycken.
-
-F -
--fixed-strings -
Betrakta de begrÀnsande mönstren som fasta strÀngar (tolka inte mönster som ett reguljÀrt uttryck).
-
-P -
--perl-regexp -
Betrakta de begrÀnsande mönstren som Perl-kompatibla reguljÀra uttryck.
Stöd för den hÀr typen av reguljÀra uttryck Àr ett valfritt kompilerings-tids beroende. Om Git inte kompilerades med stöd för dem kommer det att dö om det hÀr alternativet anges.
-
--remove-empty -
Stanna nÀr en given sökvÀg försvinner frÄn trÀdet.
-
--merges -
Skriv bara ut sammanslagningsincheckningar. Detta Àr exakt samma sak som
--min-parents=2. -
--no-merges -
Skriv inte ut incheckningar med mer Àn en förÀlder. Detta Àr exakt samma sak som
--max-parents=1. -
--min-parents=<nummer> -
--max-parents=<nummer> -
--no-min-parents -
--no-max-parents -
Visa bara incheckningar som har minst (eller högst) sÄ mÄnga förÀldraincheckningar. I synnerhet Àr
--max-parents=1samma sak som--no-merges, och--min-parents=2samma sak som--merges.--max-parents=0ger alla rotincheckningar och--min-parents=3alla blÀckfisksammanslagningar.--no-min-parentsoch--no-max-parentsÄterstÀller dessa grÀnser (till ingen grÀns) igen. Motsvarande former Àr--min-parents=0(alla incheckningar har 0 eller fler förÀldrar) och--max-parents=-1(negativa tal betyder ingen övre grÀns). -
--first-parent -
NÀr du letar efter incheckningar att inkludera, följ bara den första förÀldraincheckningen nÀr du stöter pÄ en sammanslagningsincheckning. Det hÀr alternativet kan ge bÀttre överblick nÀr du granskar utvecklingen av en viss Àmnesgren, eftersom sammanslagningar till en Àmnesgren ofta bara handlar om att anpassa sig till uppdateringar uppströms, och dÄ kan du ignorera de enskilda incheckningar som en sÄdan sammanslagning för in i historiken.
-
--exclude-first-parent-only -
NÀr du letar efter incheckningar att exkludera (med ^), följ bara den första förÀldraincheckningen nÀr du stöter pÄ en sammanslagningsincheckning. Detta kan anvÀndas för att hitta mÀngden Àndringar i en Àmnesgren frÄn punkten dÀr den avvek frÄn fjÀrrgrenen, givet att godtyckliga sammanslagningar kan vara giltiga Àndringar i Àmnesgrenen.
-
--maximal-only -
Restrict the output commits to be those that are not reachable from any other commits in the revision range.
-
--not -
VÀnder betydelsen av prefixet ^ (eller avsaknaden av det) för alla efterföljande revisionsspecifikationer, upp till nÀsta
--not. NÀr det anvÀnds pÄ kommandoraden före --stdin, kommer revisionerna som skickas via stdin inte att pÄverkas av det. OmvÀnt, nÀr det skickas via standardindata, kommer revisionerna som skickas pÄ kommandoraden inte att pÄverkas av det. -
--all -
LÄtsas som om alla referenser i
refs/, tillsammans medHEAD, listas pÄ kommandoraden som <incheckning>. -
--branches[=<mönster>] -
LÄtsas som om alla referenser i
refs/headslistas pÄ kommandoraden som <incheckning>. Om <mönster> anges, begrÀnsa grenar till de som matchar given shell-glob. Om <mönster> saknar ?, * eller [, antyds /* i slutet. -
--tags[=<mönster>] -
LÄtsas som om alla referenser i
refs/tagslistas pÄ kommandoraden som <incheckning>. Om <mönster> anges, begrÀnsa taggarna till de som matchar den givna shell-globen. Om mönstret saknar ?, * eller [, antyds /* i slutet. -
--remotes[=<mönster>] -
LÄtsas som om alla referenser i
refs/remoteslistas pÄ kommandoraden som <incheckning>. Om <mönster> anges, begrÀnsas fjÀrrspÄrade grenar till de som matchar given shell-glob. Om mönstret saknar ?, * eller [, antyds /* i slutet. -
--glob=<glob-mönster> -
LÄtsas som om alla referenser som matchar skalglob <glob-mönster> listas pÄ kommandoraden som <incheckning>. Inledande refs/ lÀggs automatiskt till om det saknas. Om mönstret saknar ?, * eller [, antyds /* i slutet.
-
--exclude=<glob-mönster> -
Inkludera inte referenser som matchar <glob-mönster> och som nÀsta
--all,--branches,--tags,--remoteseller--globannars skulle ta med. Upprepningar av detta alternativ ackumulerar exkluderingsmönster fram till nÀsta--all,--branches,--tags,--remoteseller--glob(andra alternativ eller argument nollstÀller inte de ackumulerade mönstren).Mönstren som anges ska inte börja med
refs/heads,refs/tagsellerrefs/remotesnÀr de tillÀmpas pÄ--branches,--tagsrespektive--remotes, och de mÄste börja medrefs/nÀr de tillÀmpas pÄ--globeller--all. Om ett efterföljande /* Àr avsett mÄste det anges explicit. -
Inkludera inte referenser som skulle döljas av
git-fetch,git-receive-packellergit-upload-packenligt konfigurationenfetch.hideRefs,receive.hideRefselleruploadpack.hideRefstillsammans medtransfer.hideRefs(se git-config[1]). Detta alternativ pÄverkar nÀsta pseudo-ref-alternativ--alleller--globoch nollstÀlls efter att de har behandlats. -
--reflog -
LÄtsas som om alla objekt som nÀmns av refloggar listas pÄ kommandoraden som <incheckning>.
-
--alternate-refs -
LÄtsas som om alla objekt som nÀmns som referens-toppar för alternativa kodförrÄd listades pÄ kommandoraden. Ett alternativt kodförrÄd Àr vilket kodförrÄd som helst vars objektkatalog Àr angiven i
objects/info/alternates. UppsÀttningen av inkluderade objekt kan modifieras avcore.alternateRefsCommand, etc. Se git-config[1]. -
--single-worktree -
Som standard granskas alla arbetstrÀd av följande alternativ nÀr det finns fler Àn ett (se git-worktree[1]):
--all,--reflogoch--indexed-objects. Detta alternativ tvingar dem att endast granska det aktuella arbetstrÀdet. -
--ignore-missing -
NÀr ett ogiltigt objektnamn förekommer i indata, lÄtsas som om den felaktiga inmatningen inte angavs.
-
--stdin -
Förutom att hÀmta argument frÄn kommandoraden, lÀs dem Àven frÄn standardinmatning. Detta accepterar incheckningar och pseudo-alternativ som
--alloch--glob=. NÀr en---avgrÀnsare setts, behandlas följande inmatning som sökvÀgar och anvÀnds för att begrÀnsa resultatet. Flaggor som--notsom lÀses via standardinmatning respekteras endast för argument som skickas pÄ samma sÀtt och kommer inte att pÄverka nÄgra efterföljande kommandoradsargument. -
--quiet -
Skriv inte ut nÄgot till standardutdata. Den hÀr formen Àr frÀmst avsedd att lÄta anroparen testa utgÄngsstatusen för att se om ett objektomrÄde Àr helt anslutet (eller inte). Det Àr snabbare Àn att omdirigera stdout till
/dev/nulleftersom utdata inte behöver formateras. -
--disk-usage -
--disk-usage=human -
Undertryck normal utdata; skriv i stÀllet ut summan av byte som anvÀnds för disklagring av de valda incheckningar eller objekten. Detta motsvarar att skicka utdata till
gitcat-file--batch-check='%(objectsize:disk), förutom att det körs mycket snabbare (sĂ€rskilt med--use-bitmap-index). Se avsnittet FĂRBEHĂ LL i git-cat-file[1] för begrĂ€nsningarna av vad "disklagring" betyder. Med det valfria vĂ€rdethumanvisas disklagringsstorleken i en mĂ€nniskolĂ€sbar strĂ€ng (t.ex. 12.24 Kib, 3.50 Mib). -
--cherry-mark -
Liksom
--cherry-pick(se nedan) men markera motsvarande incheckningar med=i stÀllet för att utelÀmna dem, och ojÀmlika med+. -
--cherry-pick -
UtelÀmna alla incheckningar som introducerar samma förÀndring som en annan incheckning pÄ den "andra sidan" nÀr uppsÀttningen incheckningar Àr begrÀnsad med symmetrisk skillnad.
Om du till exempel har tvÄ grenar,
AochB, Ă€r ett vanligt sĂ€tt att lista incheckningar pĂ„ bara ena sidan att anvĂ€nda--left-right(se exemplet nedan i beskrivningen av alternativet--left-right). DĂ„ visas dock Ă€ven incheckningar som cherry-pickats frĂ„n den andra grenen (t.ex. kan â3rd on bâ vara cherry-pickad frĂ„n gren A). Med detta alternativ exkluderas sĂ„dana incheckningspar frĂ„n utdata. -
--left-only -
--right-only -
Lista endast incheckningar pÄ respektive sida av en symmetrisk skillnad, d.v.s. endast de som skulle markeras < respektive > med
--left-right.Till exempel
--cherry-pick--right-onlyA...ButelÀmnar de incheckningar frÄnBsom finns iAeller Àr patch-ekvivalenta med en incheckning iA. Med andra ord listar detta+incheckningar frÄngitcherryAB. Mer exakt ger--cherry-pick--right-only--no-mergesden exakta listan. -
--cherry -
En synonym för
--right-only--cherry-mark--no-merges; anvÀndbar för att begrÀnsa utdata till incheckningar pÄ vÄr sida och markera de som har tillÀmpats pÄ den andra sidan av en förgrenad historik medgitlog--cherryupstream...mybranch, liknandegitcherryupstreammybranch. -
-g -
--walk-reflogs -
I stÀllet för att gÄ igenom incheckningarnas förfÀderskedja, gÄ igenom reflog-poster frÄn den senaste till Àldre. NÀr detta alternativ anvÀnds kan du inte ange incheckningar att exkludera (det vill sÀga notationerna
^<incheckning>, <incheckning1>..<incheckning2> och <incheckning1>...<incheckning2> kan inte anvÀndas).Med
--pretty-format annat Ànonelineochreference(av uppenbara skÀl) fÄr utdata tvÄ extra informationsrader hÀmtade frÄn refloggen. Reflog-beteckningen i utdata kan visas somref@{<Nth>}(dÀr <Nth> Àr det omvÀnd kronologiska indexet i refloggen) eller somref@{<timestamp>}(med <timestamp> för posten), beroende pÄ nÄgra regler:-
Om startpunkten anges som ref@{<N:te>}, visa indexformatet.
-
Om startpunkten angavs som
ref@{now}, visa tidsstÀmpelformatet. -
Om ingetdera anvÀndes, men
--dateangavs pÄ kommandoraden, visa tidsstÀmpeln i det format som begÀrs av--date. -
Annars, visa indexformatet.
Under
--pretty=onelineprefixas incheckningsmeddelandet med denna information pÄ samma rad. Alternativet kan inte kombineras med--reverse. Se Àven git-reflog[1].Under
--pretty=referencekommer denna information inte att visas alls. -
-
--merge -
Visa incheckningar som berör konflikterande sökvÀgar i intervallet
HEAD...<andra>, dÀr <andra> Àr den första befintliga pseudoreferensen iMERGE_HEAD,CHERRY_PICK_HEAD,REVERT_HEADellerREBASE_HEAD. Fungerar bara nÀr indexet har ej sammanfogade poster. Det hÀr alternativet kan anvÀndas för att visa relevanta incheckningar nÀr konflikter frÄn en trevÀgssammanslagning löses. -
--boundary -
Utdata exkluderar grÀns-incheckningar. GrÀns-incheckningar har prefixet
-. -
--use-bitmap-index -
Försök att snabba upp genomgÄngen med hjÀlp av paketets bitmapindex (om ett sÄdant finns tillgÀngligt). Observera att nÀr du genomsöker med
--objectskommer trÀd och blobbar inte att fÄ sin tillhörande sökvÀg utskriven. -
--progress=<rubrik> -
Visa förloppsrapporter pÄ stderr nÀr objekt beaktas. Texten <rubrik> kommer att skrivas ut med varje förloppsuppdatering.
-
-z -
I stÀllet för att vara avgrÀnsat med nyrad, avgrÀnsas varje utmatat objekt och dess tillhörande metadata med hjÀlp av NUL-byte. Utdata skrivs ut i följande form:
<OID> NUL [<token>=<vÀrde> NUL]...
Ytterligare objektmetadata, sÄsom objektsökvÀgar eller grÀnsobjekt, skrivs ut med formen <token>
=<vÀrde>. TokenvÀrden skrivs ut som de Àr utan kodning/trunkering. En OID-post innehÄller aldrig tecknet = och anvÀnds dÀrför för att signalera starten pÄ en ny objektpost. Exempel:<OID> NUL <OID> NUL path=<sökvÀg> NUL <OID> NUL boundary=yes NUL <OID> NUL missing=yes NUL [<token>=<vÀrde> NUL]...
Det hÀr lÀget Àr endast kompatibelt med utdataalternativen
--objects,--boundaryoch--missing.
Historisk förenkling
Ibland Àr man bara intresserad av delar av historiken, till exempel incheckningar som Àndrar en viss <sökvÀg>. Men det finns tvÄ delar av Historik förenkling, en del handlar om att vÀlja incheckningar och den andra Àr hur man gör det, eftersom det finns olika strategier för att förenkla historiken.
Följande alternativ vÀljer vilka incheckningar som ska visas:
Observera att extra incheckningar kan visas för att ge en meningsfull historik.
Följande alternativ pÄverkar hur förenklingen utförs:
- StandardlÀge
-
Förenklar historiken till den enklaste historiken som förklarar trÀdets slutliga tillstÄnd. Enklast eftersom den beskÀr vissa sidogrenar om slutresultatet Àr detsamma (d.v.s. sammanfogar grenar med samma innehÄll)
-
--show-pulls -
Inkludera alla incheckningar frÄn standardlÀget, men Àven alla sammanslagningsincheckningar som inte Àr TREESAME till den första förÀldern men Àr TREESAME till en senare förÀlder. Det hÀr lÀget Àr anvÀndbart för att visa de sammanslagningsincheckningar som "först introducerade" en Àndring i en gren.
-
--full-history -
Samma som standardlÀget, men rensar inte bort en del historik.
-
--dense -
Endast de valda incheckningar visas, plus nÄgra för att ha en meningsfull historik.
-
--sparse -
Alla incheckningar i den förenklade historiken visas.
-
--simplify-merges -
Ytterligare ett alternativ till
--full-historyför att ta bort onödiga sammanslagningar frÄn den resulterande historiken, eftersom det inte finns nÄgra valda incheckningar som bidrar till denna sammanslagning. -
--ancestry-path[=<incheckning>] -
NĂ€r ett intervall av incheckningar ges att visa (t.ex. <incheckning1>
..<incheckning2> eller <incheckning2>^<incheckning1>), och en incheckning_<incheckning>_ inom det intervallet, visas endast incheckningar i det intervallet som Àr förfÀder till <incheckning>, underordnade till <incheckning>, eller <incheckning> sjÀlvt. Om ingen incheckning anges, anvÀnd <incheckning1> (den exkluderade delen av intervallet) som <incheckning>. Kan skickas flera gÄnger; i sÄ fall inkluderas en incheckning om det Àr nÄgon av de angivna incheckningarna eller om det Àr en förfader eller Àttling till en av dem.
En mer detaljerad förklaring följer.
Anta att du angav foo som <sökvÀgar>. Vi ska anropa incheckningar som modifierar foo !TREESAME, och resten TREESAME. (I en diff filtrerad för foo ser de olika respektive lika ut.)
I det följande kommer vi alltid att hÀnvisa till samma exempelhistorik för att illustrera skillnaderna mellan förenklingsinstÀllningarna. Vi antar att du filtrerar efter en fil foo i denna commit-graf:
.-A---M---N---O---P---Q / / / / / / I B C D E Y \ / / / / / `-------------' X
Den horisontella historiklinjen A---Q tas som den första förÀldern till varje sammanslagning. Incheckningarna Àr:
-
IÀr den initiala incheckningen, dÀrfoofinns med innehÄlletasdf, och en filquuxfinns med innehÄlletquux. Initiala incheckningar jÀmförs med ett tomt trÀd, sÄIÀr !TREESAME. -
I
AinnehÄllerfoobarafoo. -
BinnehÄller samma Àndring somA. Dess sammanslagningMÀr trivial och dÀrför TREESAME för alla förÀldrar. -
CÀndrar intefoo, men dess sammanslagningNÀndrar det tillfoobar, sÄ det Àr inte TREESAME med nÄgon förÀlder. -
DsÀtterfootillbaz. Dess sammanslagningOkombinerar strÀngarna frÄnNochDtillfoobarbaz; d.v.s. den Àr inte TREESAME med nÄgon förÀlder. -
EÀndrarquuxtillxyzzy, och dess sammanslagningPkombinerar strÀngarna tillquuxxyzzy.PÀr TREESAME tillO, men inte tillE. -
XĂ€r en oberoende rot-incheckning som lade till en ny filside, ochYmodifierade den.YĂ€r TREESAME tillX. Dess sammanslagningQlade tillsidetillP, ochQĂ€r TREESAME tillP, men inte tillY.
rev-list gÄr bakÄt genom historiken, inklusive eller exkluderar incheckningar baserat pÄ om --full-history och/eller omskrivning av överordnade kommandon (via --parents eller --children) anvÀnds. Följande instÀllningar Àr tillgÀngliga.
- StandardlÀge
-
Incheckningar inkluderas om de inte Àr TREESAME till nÄgon förÀlder (Àven om detta kan Àndras, se
--sparsenedan). Om incheckningen var en sammanslagning, och den var TREESAME till en förĂ€lder, följ endast den förĂ€ldern. (Ăven om det finns flera TREESAME-förĂ€ldrar, följ endast en av dem.) Annars, följ alla förĂ€ldrar.Det hĂ€r resulterar i:
.-A---N---O / / / I---------D
Observera hur regeln att bara följa TREESAME-förÀldern, om en sÄdan finns tillgÀnglig, tog bort
Bhelt frÄn beaktande.Cbeaktades viaN, men Àr TREESAME. Rotincheckningar jÀmförs med ett tomt trÀd, sÄIÀr !TREESAME.FörÀlder/barn-relationer Àr bara synliga med
--parents, men det pÄverkar inte de incheckningar som Àr valda i standardlÀget, sÄ vi har visat förÀlder-linjerna. -
--full-historyutan förÀlder omskrivning -
Det hĂ€r lĂ€get skiljer sig frĂ„n standardlĂ€get pĂ„ en punkt: följ alltid alla förĂ€ldrar till en sammanslagning, Ă€ven om den Ă€r TREESAME till en av dem. Ăven om mer Ă€n en sida av sammanslagningen har inkluderade incheckningar, betyder det inte att sjĂ€lva sammanslagningen Ă€r det! I exemplet fĂ„r vi
I A B N D O P Q
Mexkluderades eftersom det Àr TREESAME för bÄda förÀldrarna.E,CochBfick alla gÄ, men endastBvar !TREESAME, sÄ de andra visas inte.Observera att utan omskrivning av förÀldern Àr det inte riktigt möjligt att prata om förÀlder/barn-relationerna mellan incheckningar, sÄ vi visar dem frÄnkopplade.
-
--full-historymed förÀldraomskrivning -
Vanliga incheckningar inkluderas endast om de Àr !TREESAME (Àven om detta kan Àndras, se
--sparsenedan).Sammanslagningar inkluderas alltid. Emellertid skrivs deras förÀldralista om: lÀngs varje förÀlder, beskÀr bort incheckningar som inte sjÀlva inkluderas. Detta resulterar i
.-A---M---N---O---P---Q / / / / / I B / D / \ / / / / `-------------'
JÀmför med
--full-historyutan att skriva om ovan. Observera attEbeskars bort eftersom det Àr TREESAME, men förÀldralistan till P skrevs om för att innehÄlla E`s förÀldra `I. Detsamma hÀnde förCochN, ochX,YochQ.
Utöver ovanstÄende instÀllningar, kan du Àndra om TREESAME pÄverkar inkludering:
-
--dense -
Incheckningar som genomgÄs inkluderas om de inte Àr TREESAME med nÄgon förÀlder.
-
--sparse -
Alla incheckningar som traverseras inkluderas.
Observera att utan
--full-historyförenklar detta fortfarande sammanslagningar: om en av förÀldrarna Àr TREESAME följer vi bara den, sÄ de andra sidorna av sammanslagningen genomgÄs aldrig. -
--simplify-merges -
Först, bygg en historikgraf pÄ samma sÀtt som
--full-historymed förÀldraomskrivning gör (se ovan).Förenkla sedan varje incheckning
Ctill dess ersÀttningC'i den slutliga historiken enligt följande regler:-
SĂ€tt
C'tillC. -
ErsÀtt varje förÀlder
PtillC'med dess förenklingP'. I processen tas förÀldrar bort som Àr förfÀder till andra förÀldrar eller som Àr rotincheckningar TREESAME till ett tomt trÀd, och dubbletter tas bort. Var dock noga med att aldrig ta bort alla förÀldrar som vi Àr TREESAME till. -
Om
C'efter denna förÀldraomskrivning Àr en rot- eller sammanslagningsincheckning (har noll eller >1 förÀldrar), en grÀnsincheckning eller !TREESAME, sÄ behÄlls den. Annars ersÀtts den med sin enda förÀlder.
Effekten av detta visas bÀst genom att jÀmföra med
--full-historymed förÀldraomskrivning. Exemplet blir:.-A---M---N---O / / / I B D \ / / `---------'
Notera de största skillnaderna i
N,PochQjÀmfört med--full-history:-
N`s förÀldralista hade `I borttagen, eftersom den Àr en förfader till den andra förÀldern
M. ĂndĂ„ fannsNkvar eftersom den Ă€r !TREESAME. -
PÄ liknande sÀtt togs
Ibort frÄn P`s förÀldralista. `P togs sedan bort helt, eftersom den hade en förÀlder och Àr TREESAME. -
Q`s förÀldralista förenklade `Y till
X.Xtogs sedan bort eftersom det var en TREESAME-rot.Qtogs sedan bort helt eftersom den hade en förÀlder och Àr TREESAME.
-
Det finns ytterligare ett förenklingslÀge tillgÀngligt:
-
--ancestry-path[=<incheckning>] -
BegrÀnsa visade incheckningar till dem som Àr förfÀder till <incheckning>, Àttlingar till <incheckning>, eller <incheckning> sjÀlv.
Som exempel pÄ anvÀndningsfall, betrakta följande incheckningshistorik:
D---E-------F / \ \ B---C---G---H---I---J / \ A-------K---------------L--M
En vanlig D..M berÀknar mÀngden incheckningar som Àr förfÀder till M, men exkluderar de som Àr förfÀder till D. Detta Àr anvÀndbart för att se vad som hÀnde med historiken som ledde till M sedan D, i den meningen att "vad har M som inte existerade i D". Resultatet i det hÀr exemplet skulle vara alla incheckningar, förutom A och B (och D sjÀlvt, förstÄs).
NÀr vi vill ta reda pÄ vilka incheckningar i
Msom Àr kontaminerade med programfelet som introducerades avDoch behöver ÄtgÀrdas, kanske vi bara vill visa den delmÀngd avD..Msom faktiskt Àr Àttlingar tillD, d.v.s. exklusiveCochK. Det Àr precis vad alternativet--ancestry-pathgör. TillÀmpat pÄD..M-intervallet resulterar det i:E-------F \ \ G---H---I---J \ L--M
Vi kan ocksÄ anvÀnda
--ancestry-path=Di stÀllet för--ancestry-pathvilket betyder samma sak nÀr det tillÀmpas pÄD..M-intervallet men Àr bara mer explicit.Om vi i stÀllet Àr intresserade av ett givet Àmne inom detta intervall, och alla incheckningar som pÄverkas av det Àmnet, kanske vi bara vill se den delmÀngd av
D..Msom innehÄller det Àmnet i sin förfÀders-sökvÀg. SÄ att anvÀnda--ancestry-path=HD..Mtill exempel skulle resultera i:E \ C---G---H---I---J \ L--M
Medan
--ancestry-path=KD..Mskulle resultera iK---------------L--M
Innan vi diskuterar ett annat alternativ, --show-pulls, behöver vi skapa en ny exempel historik.
Ett vanligt problem som anvÀndare stöter pÄ nÀr de tittar pÄ förenklad historik Àr att en incheckning som de vet har Àndrat en fil pÄ nÄgot sÀtt inte visas i filens förenklade historik. LÄt oss visa ett nytt exempel och visa hur alternativ som --full-history och --simplify-merges fungerar i sÄ fall:
.-A---M-----C--N---O---P / / \ \ \/ / / I B \ R-'`-Z' / \ / \/ / \ / /\ / `---X--' `---Y--'
I det hÀr exemplet, anta att I skapade file.txt som modifierades av A, B och X pÄ olika sÀtt. De ensamstÄende förÀldra-incheckningen C, Z och Y Àndrar inte file.txt. Sammanslagnings-incheckningen M skapades genom att lösa sammanslagnings-konflikten för att inkludera bÄde Àndringar frÄn A och B och Àr dÀrför inte TREESAME till nÄgon av dem. Sammanslagningens-incheckningen R skapades dock genom att ignorera innehÄllet i file.txt vid M och endast ta innehÄllet i file.txt vid X. DÀrför Àr R TREESAME till X men inte M. Slutligen Àr den naturliga sammanslagningslösningen för att skapa N att ta innehÄllet i file.txt vid R, sÄ N Àr TREESAME till R men inte C. Sammanslagnings-incheckningen O och P Àr TREESAME till sina första förÀldrar, men inte till sina andra förÀldrar, Z respektive Y.
NÀr standardlÀget anvÀnds har bÄde N och R en TREESAME-förÀlder, sÄ dessa kanter genomgÄngna och de andra ignoreras. Den resulterande historikgrafen Àr:
I---X
NÀr man anvÀnder --full-history gÄr Git runt pÄ varje kant. Detta kommer att upptÀcka incheckningar A och B och sammanslagningen M, men kommer ocksÄ att avslöja sammanslagningsincheckningar O och P. Med omskrivning av förÀldern, blir den resulterande grafen:
.-A---M--------N---O---P / / \ \ \/ / / I B \ R-'`--' / \ / \/ / \ / /\ / `---X--' `------'
HÀr bidrar sammanslagningsincheckningar O och P med extra brus, eftersom de faktiskt inte bidrog med nÄgon Àndring i file.txt. De slog bara samman ett Àmne som baserades pÄ en Àldre version av file.txt. Detta Àr ett vanligt problem i kodförrÄd som anvÀnder ett arbetsflöde dÀr mÄnga bidragsgivare arbetar parallellt och slÄr samman sina Àmnesgrenar lÀngs en enda stam: mÄnga orelaterade sammanslagningar visas i --full-history-resultaten.
NÀr man anvÀnder alternativet --simplify-merges försvinner incheckningar O och P frÄn resultaten. Detta beror pÄ att de omskrivna andra förÀldrarna till O och P Àr nÄbara frÄn sina första förÀldrar. Dessa kanter tas bort och dÄ ser incheckningarna ut som ensamstÄende-förÀlder-incheckningar som Àr TREESAME som sin förÀlder. Detta hÀnder Àven med incheckning N, vilket resulterar i en historikvy enligt följande:
.-A---M--. / / \ I B R \ / / \ / / `---X--'
I den hÀr vyn ser vi alla viktiga Àndringar med en förÀlder frÄn A, B och X. Vi ser ocksÄ den noggrant lösta sammanslagningen M och den mindre noggrant lösta sammanslagningen R. Detta Àr oftast tillrÀckligt för att avgöra varför incheckningarna A och B "försvann" frÄn historiken i standardvyn. Det finns dock nÄgra problem med den hÀr metoden.
Det första problemet Àr prestanda. Till skillnad frÄn tidigare alternativ krÀver --simplify-merges att hela incheckningshistoriken traverseras innan ett enda resultat returneras. Det kan göra alternativet svÄrt att anvÀnda för mycket stora kodförrÄd.
Det andra problemet gÀller granskning. NÀr mÄnga bidragsgivare arbetar pÄ samma kodförrÄd Àr det viktigt vilka sammanslagningsincheckningar som introducerade en Àndring i en viktig gren. Den problematiska sammanslagningsincheckningen R ovan Àr sannolikt inte den sammanslagningsincheckning som anvÀndes för att slÄ samman den med en viktig gren. I stÀllet anvÀndes sammanslagningsincheckningen N för att slÄ samman R och X med den viktiga grenen. Denna incheckning kan innehÄlla information om varför Àndringen X Äsidosatte Àndringarna frÄn A och B i sitt incheckningsmeddelande.
-
--show-pulls -
Förutom de incheckningar som visas i standardhistoriken, visa varje sammanslagningsincheckning som inte Àr TREESAME till sin första förÀlder men Àr TREESAME till en senare förÀlder.
NĂ€r en sammanslagningsincheckning inkluderas av
--show-pulls, behandlas sammanslagningsincheckningen som om den "hÀmtat" Àndringen frÄn en annan gren. NÀr--show-pullsanvÀnds i detta exempel (och inga andra alternativ) Àr den resulterande grafen:I---X---R---N
HĂ€r inkluderas sammanslagningsincheckningarna
RochNeftersom de drog in incheckningarnaXrespektiveRi basgrenen. Dessa sammanslagningar Àr anledningen till att incheckningarnaAochBinte visas i standardhistoriken.NÀr
--show-pullsparas ihop med--simplify-mergesinnehÄller grafen all nödvÀndig information:.-A---M--. N / / \ / I B R \ / / \ / / `---X--'
Observera att eftersom
Mkan nÄs frÄnRhar kanten frÄnNtillMförenklats bort.Nvisas dock fortfarande i historiken som en viktig incheckning eftersom den drog in ÀndringenRi huvudgrenen.
Alternativet --simplify-by-decoration lÄter dig bara se den övergripande bilden av historikens topologi, genom att utelÀmna incheckningar som inte refereras till av taggar. Incheckningar markeras som !TREESAME (med andra ord, behÄlls efter historikförenklingsreglerna som beskrivs ovan) om (1) de refereras till av taggar, eller (2) de Àndrar innehÄllet i sökvÀgarna som anges pÄ kommandoraden. Alla andra incheckningar markeras som TREESAME (med förbehÄll för att förenklas bort).
BisektionshjÀlpare
-
--bisect -
BegrÀnsa utdata till det enda incheckningsobjektet som ligger ungefÀr halvvÀgs mellan inkluderade och exkluderade incheckningar. Observera att den dÄliga bisektionsreferensen
refs/bisect/badlÀggs till de inkluderade incheckningarna (om den finns) och de bra bisektionsreferensernarefs/bisect/good-*lÀggs till de exkluderade incheckningarna (om de finns). Om vi antar att det inte finns nÄgra referenser irefs/bisect/, om$ git rev-list --bisect foo ^bar ^baz
blir utdata midpoint, d.v.s. utdata frÄn de tvÄ kommandona
$ git rev-list foo ^midpoint $ git rev-list midpoint ^bar ^baz
skulle vara ungefÀr lika lÄnga. Att hitta Àndringen som introducerar en regression reduceras dÀrmed till en binÀrsökning: generera och testa upprepade gÄnger nya midpoint tills incheckningskedjan har lÀngd ett.
-
--bisect-vars -
Det hÀr berÀknar samma sak som
--bisect, förutom att referenser irefs/bisect/inte anvÀnds och att texten skrivs ut i format som kan evalueras av skalet. Dessa rader tilldelar namnet pÄ mittpunktsrevisionen till variabelnbisect_rev, det förvÀntade antalet incheckningar att testa efter attbisect_revtestats tillbisect_nr, det förvÀntade antalet incheckningar att testa ombisect_revvisar sig vara bra tillbisect_good, det förvÀntade antalet incheckningar att testa ombisect_revvisar sig vara dÄlig tillbisect_bad, samt antalet incheckningar vi bisekterar just nu tillbisect_all. -
--bisect-all -
Det hÀr matar ut alla incheckningsobjekt mellan de inkluderade och exkluderade incheckningarna, sorterade efter deras avstÄnd till de inkluderade och exkluderade incheckningarna. Referenser i
refs/bisect/anvÀnds inte. Den lÀngst bort frÄn dem visas först. (Detta Àr det enda som visas av--bisect.)Det Àr anvÀndbart eftersom det gör det enkelt att vÀlja en bra incheckning att testa nÀr du vill undvika att testa vissa av dem av nÄgon anledning (de kanske till exempel inte kompilerar).
Det hÀr alternativet kan anvÀndas tillsammans med
--bisect-vars. I det hÀr fallet, efter alla sorterade incheckningsobjekt, kommer det att finnas samma text som om--bisect-varshade anvÀnts ensamt.
Incheckningsordning
Som standard visas incheckningar i omvÀnd kronologisk ordning.
-
--date-order -
Visa inga förÀldrar innan alla dess barn visas, men annars visa incheckningar i incheckningstidsstÀmpelordningen.
-
--author-date-order -
Visa inga förÀldrar innan alla dess barn visas, men annars visa incheckningar i författar-tidsstÀmpel-ordning.
-
--topo-order -
Visa inga förÀldrar innan alla dess barn visas, och undvik att visa incheckningar pÄ flera historikrader blandade.
Till exempel i en incheckningshistorik som denna:
---1----2----4----7 \ \ 3----5----6----8---
dÀr siffrorna anger ordningen pÄ tidsstÀmplarna för incheckningar, visar
gitrev-listoch vÀnner med--date-orderincheckningar i tidsstÀmpelordningen: 8 7 6 5 4 3 2 1.Med
--topo-orderskulle de visa 8 6 5 3 7 4 2 1 (eller 8 7 4 2 6 5 3 1); vissa Àldre incheckningar visas före nyare för att undvika att visa incheckningar frÄn tvÄ parallella utvecklingsspÄr blandade. -
--reverse -
Skriv ut de incheckningar som valts att visas (se avsnittet BegrÀnsning av incheckningar ovan) i omvÀnd ordning. Kan inte kombineras med
--walk-reflogs.
Objekt-traversering
Dessa alternativ Àr frÀmst avsedda för packning av Git-kodförrÄd.
-
--objects -
Skriv ut objekt-ID:n för alla objekt som refereras av de listade incheckningarna.
--objectsfoo^barbetyder alltsÄ "skicka mig alla objekt-ID:n som jag behöver ladda ner om jag har incheckningsobjektetbarmen intefoo". Se Àven--object-namesnedan. -
--in-commit-order -
Skriv ut trÀd- och blob-id:n i incheckningarnas ordning. TrÀd- och blob-id:n skrivs ut efter att de först refererats av en incheckning.
-
--objects-edge -
Liknar
--objects, men skriver Ă€ven ut ID:n för exkluderade incheckningar med prefixet "-". Detta anvĂ€nds av git-pack-objects[1] för att bygga ett âtuntâ pack, som registrerar objekt i deltakodad form baserat pĂ„ objekt i dessa exkluderade incheckningar för att minska nĂ€tverkstrafik. -
--objects-edge-aggressive -
Liknar
--objects-edge, men den försöker hĂ„rdare hitta exkluderade incheckningar pĂ„ bekostnad av ökad tid. Detta anvĂ€nds i stĂ€llet för--objects-edgeför att bygga âtunnaâ paket för ytliga kodförrĂ„d. -
--indexed-objects -
LÄtsas som om alla trÀd och blobbar som anvÀnds av indexet listas pÄ kommandoraden. Observera att du förmodligen ocksÄ vill anvÀnda
--objects. -
--unpacked -
Endast anvÀndbart med
--objects; skriv ut objekt-ID:n som inte finns i paket. -
--object-names -
Endast anvÀndbart med
--objects; skriv ut namnen pÄ de objekt-ID:n som hittas. Detta Àr standardbeteendet. Observera att "namnet" pÄ varje objekt Àr tvetydigt och mestadels avsett som en ledtrÄd för att packa objekt. I synnerhet: ingen skillnad görs mellan namnen pÄ taggar, trÀd och blobbar; sökvÀgsnamn kan Àndras för att ta bort radbrytningar; och om ett objekt skulle visas flera gÄnger med olika namn visas bara ett namn. -
--no-object-names -
Endast anvÀndbart med
--objects; skriver inte ut namnen pÄ de objekt-ID:n som hittas. Detta inverterar--object-names. Denna flagga gör att utdata lÀttare kan tolkas av kommandon som git-cat-file[1]. -
--filter=<filter-spec> -
Endast anvÀndbart med ett av
--objects*; utelÀmnar objekt (vanligtvis blobbar) frÄn listan över utskrivna objekt. <filter-spec> kan vara ett av följande:Formen
--filter=blob:noneutelÀmnar alla blobbar.Formen
--filter=blob:limit=<n>[kmg] utelÀmnar blobbar med en storlek pÄ minst <n> byte eller enheter. <n> kan vara noll. Suffixenk,mochgkan anvÀndas för att namnge enheter i KiB, MiB eller GiB. Till exempel Àrblob:limit=1kdetsamma som blob:limit=1024.Formen
--filter=object:type=(tag|commit|tree|blob) utelÀmnar alla objekt som inte Àr av den begÀrda typen. Observera att explicit angivna objekt ignorerar filter och alltid skrivs ut om inte--filter-provided-objectsocksÄ anges.Formen
--filter=sparse:oid=<blob-ish> anvÀnder en sparse-checkout-specifikation som finns i blobben (eller blob-uttrycket) <blob-ish> för att utelÀmna blobbar som inte skulle krÀvas för en sparse-checkout pÄ de begÀrda referenserna.Formen
--filter=tree:<djup> utelÀmnar alla blobbar och trÀd vars djup frÄn rottrÀdet Àr >= <djup> (minimum djup om ett objekt finns pÄ flera djup i de incheckningar som passeras). <djup>=0 inkluderar inga trÀd eller blobbar om de inte inkluderas explicit i kommandoraden (eller standardindata nÀr--stdinanvÀnds). <djup>=1 inkluderar endast trÀdet och blobbar som refereras direkt av en incheckning som kan nÄs frÄn <incheckning> eller ett explicit givet objekt. <djup>=2 Àr som <djup>=1 men inkluderar Àven trÀd och blobbar ytterligare en nivÄ bort frÄn en explicit given incheckning eller trÀd.Observera att formen
--filter=sparse:path=<sökvÀg> som vill lÀsa frÄn en godtycklig sökvÀg i filsystemet har tagits bort av sÀkerhetsskÀl.Flera
--filter=-flaggor kan anges för att kombinera filter. Endast objekt som accepteras av varje filter inkluderas.Formen
--filter=combine:<filter1>+<filter2>+...<filterN> kan ocksÄ anvÀndas för att kombinera flera filter, men detta Àr svÄrare Àn att bara upprepa--filter-flaggan och Àr vanligtvis inte nödvÀndigt. Filter sammanfogas med + och individuella filter Àr %-kodade (dvs. URL-kodade). Förutom tecknen + och % Àr följande tecken reserverade och mÄste ocksÄ kodas: ~!@#$^&*()[]{}\;",<>?'` samt alla tecken med ASCII-kod <=0x20, vilket inkluderar mellanslag och nyrad.Andra godtyckliga tecken kan ocksÄ kodas. Till exempel Àr
combine:tree:3+blob:noneochcombine:tree%3A3+blob%3AnonelikvÀrdiga. -
--no-filter -
StÀng av alla tidigare
--filter=-argument. -
--filter-provided-objects -
Filtrera listan över explicit angivna objekt, som annars alltid skulle skrivas ut Àven om de inte matchade nÄgot av filtren. Endast anvÀndbart med
--filter=. -
--filter-print-omitted -
Endast anvÀndbart med
--filter=; skriver ut en lista över objekt som utelĂ€mnats av filtret. Objekt-ID:n har prefixet â~â. -
--missing=<saknad-ÄtgÀrd> -
Ett felsökningsalternativ som hjÀlper till med framtida utveckling av "partiell klon". Det hÀr alternativet anger hur saknade objekt hanteras.
Formen
--missing=errorbegÀr att rev-list ska stoppas med ett felmeddelande om ett saknat objekt pÄtrÀffas. Detta Àr standardÄtgÀrden.Formen
--missing=allow-anytillÄter objektgenomgÄng att fortsÀtta om ett saknat objekt pÄtrÀffas. Saknade objekt kommer tyst att utelÀmnas frÄn resultaten.Formen
--missing=allow-promisorĂ€r somallow-any, men tillĂ„ter bara objektgenomgĂ„ng att fortsĂ€tta för FĂRVĂNTADE löftesgivare-saknade objekt. OvĂ€ntade saknade objekt kommer att orsaka ett fel.Formen
--missing=printĂ€r somallow-any, men skriver ocksĂ„ ut en lista över de saknade objekten. Objekt-ID:n har prefixet â?â.Formen
--missing=print-infoÀr somprint, men kommer ocksÄ att skriva ut ytterligare information om det saknade objektet som hÀrleds frÄn dess innehÄllande objekt. All information skrivs ut pÄ samma rad med det saknade objekt-ID:t i formen: ?<oid> [<token>=<vÀrde>].... Paren <token>=<vÀrde> som innehÄller ytterligare information Àr separerade frÄn varandra med en SP. VÀrdet kodas pÄ ett tokenspecifikt sÀtt, men SP eller LF som ingÄr i vÀrde förvÀntas alltid representeras pÄ ett sÄdant sÀtt att det resulterande kodade vÀrdet inte har nÄgon av dessa tvÄ problematiska byte. Varje <token>=<vÀrde> kan vara ett av följande:-
path=<sökvÀg> visar sökvÀgen till det saknade objektet, hÀrledd frÄn ett innehÄllande objekt. En sökvÀg som innehÄller SP eller specialtecken omges av dubbla citattecken i C-stilen efter behov. -
type=<typ> visar typen av det saknade objektet som hÀrleds frÄn ett innehÄllande objekt.
Om nÄgra toppar som skickats till traverseringen saknas, kommer de ocksÄ att betraktas som saknade, och traverseringen kommer att ignorera dem. Om vi inte kan hÀmta deras objekt-ID kommer ett felmeddelande att genereras.
-
-
--exclude-promisor-objects -
(Endast för internt bruk.) Förfiltrera objekttraverseringen vid löftesgivargrÀnsen. Detta anvÀnds med partiell klon. Det Àr starkare Àn
--missing=allow-promisoreftersom det begrÀnsar traverseringen i stÀllet för att bara tysta fel om saknade objekt. -
--no-walk[=(sorted|unsorted)] -
Visa bara de angivna incheckningarna, men traversera inte deras förfÀder. Detta har ingen effekt om ett intervall anges. Om argumentet
unsortedanges visas incheckningarna i den ordning de angavs pÄ kommandoraden. Annars (omsortedeller inget argument anges) visas incheckningarna i omvÀnd kronologisk ordning efter incheckningstid. Kan inte kombineras med--graph. -
--do-walk -
à sidosÀtter en tidigare
--no-walk.
Incheckningsformatering
Med dessa alternativ fungerar git-rev-list[1] pÄ liknande sÀtt som den mer specialiserade familjen av incheckningsloggverktyg: git-log[1], git-show[1] och git-whatchanged[1].
-
--pretty[=<format>] -
--format=<format> -
Skriv ut innehÄllet i incheckningsloggarna i ett givet format med en pretty-print, dÀr <format> kan vara ett av följande:
oneline,short,medium,full,fuller,reference,email,raw,format:<string> ochtformat:<string>. NÀr <format> inte Àr nÄgot av ovanstÄende, och innehÄller%<placeholder>, fungerar det som om--pretty=tformat:<format> vore angivet.Se avsnittet "VACKERT FORMAT" för ytterligare information om varje format. NÀr
=<format>-delen utelÀmnas anvÀndsmediumsom standard.NoteDu kan ange standardformatet för pretty i kodförrÄds-konfigurationen (se git-config[1]). -
--abbrev-commit -
I stÀllet för att visa det fullstÀndiga 40-byte hexadecimala incheckningsobjektnamnet, visa ett prefix som namnger objektet unikt. Alternativet
--abbrev=<n> (som ocksÄ modifierar diff-utdata, om det visas) kan anvÀndas för att ange prefixets minsta lÀngd.Det borde göra
--pretty=onelinemycket mer lÀsbar för personer som anvÀnder terminaler med 80 kolumner. -
--no-abbrev-commit -
Visa det fullstÀndiga 40-byte hexadecimala incheckningsobjektnamnet. Detta negerar
--abbrev-commit, antingen explicit eller underförstÄtt av andra alternativ som--oneline. Det ÄsidosÀtter ocksÄ variabelnlog.abbrevCommit. -
--oneline -
Det Àr en förkortning för
--pretty=oneline--abbrev-commitsom anvÀnds tillsammans. -
--encoding=<kodning> -
Incheckningsobjekt registrerar teckenkodningen som anvÀnds för loggmeddelandet i sitt kodningshuvud; det hÀr alternativet kan anvÀndas för att ange att kommandot ska koda om incheckningsloggmeddelandet i den kodning som anvÀndaren föredrar. För högnivÄkommandon Àr standardvÀrdet UTF-8. Observera att om ett objekt pÄstÄr sig vara kodat i
Xoch vi matar ut iX, kommer vi att mata ut objektet ordagrant; det betyder att ogiltiga sekvenser i den ursprungliga incheckningen kan kopieras till utdata. PÄ samma sÀtt, om iconv(3) misslyckas med att konvertera incheckningen, kommer vi att mata ut det ursprungliga objektet ordagrant i tysthet. -
--expand-tabs=<n> -
--expand-tabs -
--no-expand-tabs -
Utför en tabbexpandering (ersÀtt varje tabb med tillrÀckligt med mellanslag för att fylla till nÀsta visningskolumn som Àr en multipel av <n>) i loggmeddelandet innan det visas i utdata.
--expand-tabsÀr en förkortning för--expand-tabs=8, och--no-expand-tabsÀr en förkortning för--expand-tabs=0, vilket inaktiverar tabbexpandering.Som standard expanderas flikarna i snygga format som indenterar loggmeddelandet med 4 mellanslag (dvs.
medium, som Àr standard,fullochfuller). -
--show-signature -
Kontrollera giltigheten hos ett signerat incheckningsobjekt genom att skicka signaturen till
gpg--verifyoch visa utdata.
-
--relative-date -
Synonym för
--date=relative. -
--date=<format> -
GÀller endast för datum som visas i mÀnniskolÀsbart format, till exempel nÀr
--prettyanvĂ€nds. Konfigurationsvariabelnlog.dateanger ett standardvĂ€rde för log-kommandots--date-alternativ. Som standard visas datum i den ursprungliga tidszonen (antingen incheckarens eller författarens). Om-locallĂ€ggs till i formatet (t.ex.iso-local) anvĂ€nds anvĂ€ndarens lokala tidszon i stĂ€llet.--date=relativevisar datum i förhĂ„llande till aktuell tid, t.ex. â2 hours agoâ. Alternativet-localhar ingen effekt för--date=relative.--date=localĂ€r ett alias för--date=default-local.--date=iso(eller--date=iso8601) visar tidsstĂ€mplar i ett ISO 8601-liknande format. Skillnaderna mot det strikta ISO 8601-formatet Ă€r:-
ett mellanslag i stÀllet för datum-/tidsavgrÀnsaren
T -
ett mellanrum mellan tid och tidszon
-
inget kolon mellan timmar och minuter i tidszonen
--date=iso-strict(eller--date=iso8601-strict) visar tidsstÀmplar i strikt ISO 8601-format.--date=rfc(eller--date=rfc2822) visar tidsstÀmplar i RFC 2822-format, som ofta finns i e-postmeddelanden.--date=shortvisar bara datumet, men inte tiden, i formatetYYYY-MM-DD.--date=rawvisar datumet som sekunder sedan epoken (1970-01-01 00:00:00 UTC), följt av ett mellanslag, och sedan tidszonen som en förskjutning frÄn UTC (ett+eller-med fyra siffror; de tvÄ första Àr timmar och de tvÄ andra Àr minuter). Dvs. som om tidsstÀmpeln formaterades medstrftime("%s%z")). Observera att alternativet-localinte pÄverkar vÀrdet sekunder-sedan-epoken (som alltid mÀts i UTC), men Àndrar det tillhörande tidszonvÀrdet.--date=humanvisar tidszonen om tidszonen inte matchar den aktuella tidszonen, och skriver inte ut hela datumet om det matchar (d.v.s. hoppa över utskriften av Är för datum som Àr "i Är", men hoppar Àven över hela sjÀlva datumet om det Àr under de senaste dagarna och vi bara kan ange vilken veckodag det var). För Àldre datum utelÀmnas ocksÄ timme och minut.--date=unixvisar datumet som en Unix-epoktidsstÀmpel (sekunder sedan 1970). Precis som med--rawÀr detta alltid i UTC och dÀrför har-localingen effekt.--date=format:<format> matar <format> till ditt systemstrftime, förutom%s,%zoch%Z, som hanteras internt. AnvÀnd--date=format:%cför att visa datumet i ditt systemsprÄks föredragna format. Se manualen förstrftime(3) för en komplett lista över formatplatshÄllare. NÀr du anvÀnder-localÀr den korrekta syntaxen--date=format-local:<format>.--date=defaultÀr standardformatet och baseras pÄ ctime(3)-utdata. Det visar en enda rad med tre bokstÀver för veckodag, tre bokstÀver för mÄnad, dag i mÄnaden, timme-minut-sekunder i formatet "HH:MM:SS", följt av ett fyrsiffrigt Ärtal plus tidszoninformation, sÄvida inte den lokala tidszonen anvÀnds, t.ex.ThuJan100:00:001970+0000. -
-
--header -
Skriv ut incheckningens innehÄll i rÄformat; varje post separeras med ett NUL-tecken.
-
--no-commit-header -
Undertryck rubrikraden som innehÄller "commit" och objekt-ID:t som skrivs ut före det angivna formatet. Detta pÄverkar inte de inbyggda formaten; bara anpassade format pÄverkas.
-
--commit-header -
à sidosÀtter en tidigare
--no-commit-header. -
--parents -
Skriv Ă€ven ut förĂ€ldrarna till incheckningen (i formen "commit parentâŠâ"). Aktiverar ocksĂ„ förĂ€ldraomskrivning, se History Simplification ovan.
-
--children -
Skriv Ă€ven ut barn till incheckningen (i formen "commit childâŠâ"). Aktiverar ocksĂ„ förĂ€ldraomskrivning, se History Simplification ovan.
-
--timestamp -
Skriv ut rÄ incheckningstidsstÀmpel.
-
--left-right -
Markera vilken sida av en symmetrisk skillnad en incheckning Àr nÄbar frÄn. Incheckningar frÄn vÀnster sida har prefixet < och de frÄn höger med >. Om de kombineras med
--boundaryhar dessa incheckningar prefixet-.Till exempel om du har denna topologi:
y---b---b gren B / \ / / . / / \ o---x---a---a gren A
du skulle fÄ utdata som detta:
$ git rev-list --left-right --boundary --pretty=oneline A...B >bbbbbbb... 3:a pÄ b >bbbbbbb... 2:a pÄ b <aaaaaaa... 3:a pÄ a <aaaaaaa... 2:a pÄ a -yyyyyyy... 1:a pÄ b -xxxxxxx...1:a pÄ a
-
--graph -
Rita en textbaserad grafisk representation av inchecknings-historiken till vÀnster om utdata. Detta kan orsaka att extra rader skrivs ut mellan incheckningar, för att grafhistoriken ska kunna ritas korrekt. Kan inte kombineras med
--no-walk.Det hÀr aktiverar förÀldraomskrivning, se History Simplification ovan.
Det hÀr innebÀr att alternativet
--topo-orderÀr standard, men alternativet--date-orderkan ocksÄ anges. -
--show-linear-break[=<barriÀr>] -
NĂ€r
--graphinte anvÀnds plattas alla historikgrenar ut, vilket kan göra det svÄrt att se att tvÄ pÄ varandra följande incheckningar inte tillhör en linjÀr gren. Det hÀr alternativet placerar dÄ en avskiljare mellan dem. Om <barrier> anges Àr det strÀngen som visas i stÀllet för standardstrÀngen. -
--count -
Skriv ut ett tal som anger hur mÄnga incheckningar som skulle ha listats och undertryck all annan utdata. NÀr det anvÀnds tillsammans med
--left-right, skriv i stÀllet ut antalet för vÀnster och höger incheckningar, separerade med en tabb. NÀr det anvÀnds tillsammans med--cherry-mark, utelÀmna patch-ekvivalenta incheckningar frÄn dessa antal och skriv ut antalet för ekvivalenta incheckningar separerade med en tabb.
VISNINGSFORMAT
Om incheckningen Àr en sammanslagning, och om visningsformatet inte Àr oneline, email eller raw, infogas en extra rad före raden Author:. Denna rad börjar med "Merge:" och hasherna för förÀldraincheckningar skrivs ut, separerade med mellanslag. Observera att de listade incheckningar inte nödvÀndigtvis Àr listan över de direkta förÀldraincheckningarna om du har begrÀnsat din historikvy: till exempel om du bara Àr intresserad av Àndringar relaterade till en viss katalog eller fil.
Det finns flera inbyggda format, och du kan definiera ytterligare format genom att sÀtta ett pretty.<namn>-konfigurationsalternativ till antingen ett annat formatnamn eller en format:-strÀng, enligt beskrivningen nedan (se git-config[1]). HÀr Àr detaljerna för de inbyggda formaten:
-
oneline -
<hash> <title-line>Det Àr utformat för att vara sÄ kompakt som möjligt.
-
short -
commit <hash> Author: <author> _ <titelrad>_ -
medium -
commit <hash> Author: <author> Date: <author-date> _ <titelrad> <fullt-incheckningsmeddelande>_ -
full -
commit <hash> Author: <author> Commit: <committer> _ <titelrad> <fullt-incheckningsmeddelande>_ -
fuller -
commit <hash> Author: <författare> AuthorDate: <författar-datum> Commit: <incheckare> CommitDate: <inchecknings-datum> _ <title-line> <full-commit-message>_ -
reference -
<förkortad-hash> (<titelrad>,<kort-författar-datum>)Formatet anvÀnds för att referera till en annan incheckning i ett incheckningsmeddelande och Àr detsamma som
--pretty='format:%C(auto)%h(%s,%ad). Som standard formateras datumet med--date=shortom inte ett annat--date-alternativ uttryckligen anges. Precis som med allaformat:med formatplatshÄllare pÄverkas inte dess utdata av andra alternativ som--decorateoch--walk-reflogs. -
email -
From <hash> <datum> From: <författare> Date: <författar-datum> Subject: [PATCH] <titelrad> _ <fullt-incheckningsmeddelande>_ -
mboxrd -
Som
email, men rader i inchecknings-meddelandet som börjar med "From " (föregÄngna av noll eller fler ">") citeras med ">" sÄ att de inte förvÀxlas med att starta en ny incheckning. -
raw -
raw-formatet visar hela incheckningen exakt sÄ som den lagras i incheckningsobjektet. Det Àr vÀrt att notera att hasherna visas i sin helhet, oavsett om--abbreveller--no-abbrevanvÀnds, och informationen iparentsvisar de verkliga förÀldra-incheckningen, utan att ta hÀnsyn till grafts eller historikförenkling. Observera att detta format pÄverkar hur incheckningar visas, men inte hur diffen visas, t.ex. medgitlog--raw. För att fÄ fullstÀndiga objektnamn i ett rÄtt diff-format, anvÀnd--no-abbrev. -
format:<formatstrÀng> -
Formatet
format:<format-strÀng> lÄter dig ange vilken information du vill visa. Det fungerar lite som printf-formatet, med det anmÀrkningsvÀrda undantaget att du fÄr en nyrad med%ni stÀllet för \n.T.ex., format:"Författaren till %h var %an, %ar%nTiteln var >>%s<<%n" skulle visa nÄgot liknande:
The author of fe6e0ee was Junio C Hamano, 23 hours ago The title was >>t4119: test autocomputing -p<n> for traditional diff input.<<
PlatshÄllarna Àr:
-
PlatshÄllare som expanderar till ett enda bokstavstecken:
-
PlatshÄllare som pÄverkar formateringen av senare platshÄllare:
-
%Cred -
byt fÀrg till röd
-
%Cgreen -
byt fÀrg till grönt
-
%Cblue -
byt fÀrg till blÄ
-
%Creset -
ÄterstÀll fÀrg
-
%C(<spec>) -
fÀrgspecifikation, som beskrivs under VÀrden i avsnittet "KONFIGURATIONSFIL" i git-config[1]. Som standard visas fÀrger endast nÀr de Àr aktiverade för loggutdata (av
color.diff,color.uieller--color, och med respekt förauto-instÀllningarna för den förra om vi gÄr till en terminal).%C(auto,<spec>) accepteras som en historisk synonym för standardvÀrdet (t.ex.%C(auto,red)). Att ange%C(always,<spec>) kommer att visa fÀrgerna Àven nÀr fÀrg inte Àr aktiverad pÄ annat sÀtt (men övervÀg att bara anvÀnda--color=alwaysför att aktivera fÀrg för hela utdata, inklusive detta format och allt annat som git kan fÀrga). Enbartauto(d.v.s.%C(auto)) kommer att aktivera automatisk fÀrgning pÄ nÀsta platshÄllare tills fÀrgen byts igen. -
%m -
vÀnster (<), höger (>) eller grÀnsmÀrke (
-) -
%w([<w>[,<i1>[,<i2>]]]) -
vÀxla radbrytning, som alternativet
-wi git-shortlog[1]. - %<(<n>[
,(trunc|ltrunc|mtrunc)]) -
make the next placeholder take at least N column widths, padding spaces on the right if necessary. Optionally truncate (with ellipsis
..) at the left (ltrunc)..ft, the middle (mtrunc)mi..le, or the end (trunc)rig.., if the output is longer than <n> columns. Note 1: that truncating only works correctly with <n> >= 2. Note 2: spaces around the <n> and <m> (see below) values are optional. Note 3: Emojis and other wide characters will take two display columns, which may over-run column boundaries. Note 4: decomposed character combining marks may be misplaced at padding boundaries. - %<|(<m> )
-
lÄt nÀsta platshÄllare ta minst fram till <m>:e visningskolumnen, fyll ut mellanslag till höger om det behövs. AnvÀnd negativa <m>-vÀrden för kolumnpositioner mÀtt frÄn terminalfönstrets högra kant.
- %>(<n>)
- %>|(<m>)
-
liknar %<(<n>), %<|(<m>) respektive, men fyller ut mellanslag till vÀnster
- %>>(<n>)
- %>>|(<m>)
-
liknande %>(<n>), %>|(<m>) respektive, förutom att om nÀsta platshÄllare tar fler mellanslag Àn angivet och det finns mellanslag till vÀnster om den, anvÀnd dessa mellanslag
- %><(<n>)
- %><|(<m>)
-
liknar %<(<n>), %<|(<m>) respektive, men utfyllnad pÄ bÄda sidor (dvs. texten centreras)
-
-
PlatshÄllare som expanderar till information som extraheras frÄn incheckningen:
-
%H -
incheckning hash
-
%h -
förkortad incheckningshash
-
%T -
trÀdhash
-
%t -
förkortad trÀdhash
-
%P -
förÀlder-hashkoder
-
%p -
förkortade förÀldra-hashkoder
-
%an -
författarnamn
-
%aN -
författarnamn (angÄende .mailmap, se git-shortlog[1] eller git-blame[1])
-
%ae -
författarens e-postadress
-
%aE -
författarens e-postadress (angÄende .mailmap, se git-shortlog[1] eller git-blame[1])
-
%al -
författarens e-postadress lokal-del (delen före
@-tecknet) -
%aL -
författarens lokala del (se
%al) avseende .mailmap, se git-shortlog[1] eller git-blame[1]) -
%ad -
författardatum (formatet respekterar --date= alternativet)
-
%aD -
författardatum, RFC2822-stil
-
%ar -
författardatum, relativ
-
%at -
författardatum, UNIX-tidsstÀmpel
-
%ai -
författardatum, ISO 8601-liknande format
-
%aI -
författardatum, strikt ISO 8601-format
-
%as -
författardatum, kortformat (à à à à -MM-DD)
-
%ah -
författardatum, mÀnsklig stil (som alternativet
--date=humani git-rev-list[1]) -
%cn -
incheckare-namn
-
%cN -
namn pÄ incheckare (för .mailmap, se git-shortlog[1] eller git-blame[1])
-
%ce -
e-postadress för incheckare
-
%cE -
e-postadress för incheckare (respekterar .mailmap, se git-shortlog[1] eller git-blame[1])
-
%cl -
e-postadress för incheckare lokal-del (delen före
@-tecknet) -
%cL -
incheckare lokal-del (se
%cl) respekterar .mailmap, se git-shortlog[1] eller git-blame[1]) -
%cd -
incheckare-datum (formatet respekterar --date= alternativet)
-
%cD -
incheckare-datum, RFC2822-stil
-
%cr -
incheckare-datum, relativ
-
%ct -
incheckare-datum, UNIX-tidsstÀmpel
-
%ci -
incheckare-datum, ISO 8601-liknande format
-
%cI -
incheckare-datum, strikt ISO 8601-format
-
%cs -
incheckare-datum, kortformat (Ă Ă Ă Ă -MM-DD)
-
%ch -
incheckare-datum, mÀnsklig stil (som alternativet
--date=humani git-rev-list[1]) -
%d -
referensnamn, som --decorate alternativet i git-log[1]
-
%D -
referensnamn utan " (", ")" omslag.
-
%(count) -
the number of a patch within a patch series. Used only in
--commit-list-formatinformat-patch -
%(total) -
the total number of patches in a patch series. Used only in
--commit-list-formatinformat-patch -
%(decorate[:<option>,...]) -
referensnamn med anpassade dekorationer. StrÀngen
decoratekan följas av ett kolon och noll eller fler kommaseparerade alternativ. AlternativvÀrden kan innehÄlla bokstavliga formateringskoder. Dessa mÄste anvÀndas för kommatecken (%x2C) och avslutande parenteser (%x29) pÄ grund av deras roll i alternativsyntaxen.-
prefix=<vÀrde> -
Visas före listan med referensnamn. Standard Àr " (".
-
suffix=<vÀrde> -
Visas efter listan med referensnamn. Standard Àr ")".
-
separator=<vÀrde> -
Visas mellan referensnamn. Standard Àr "
,". -
pointer=<vÀrde> -
Shown between HEAD and the branch it points to, if any. Defaults to " â ".
-
tag=<value> -
Shown before tag names. Defaults to "
tag:".
Till exempel, för att skapa dekorationer utan radbrytning eller taggannoteringar, och med mellanslag som avgrÀnsare:
-
%(decorate:prefix=,suffix=,tag=,separator= )
-
%(describe[:<option>,...]) -
human-readable name, like git-describe[1]; empty string for undescribable commits. The
describestring may be followed by a colon and zero or more comma-separated options. Descriptions can be inconsistent when tags are added or removed at the same time.-
tags[=<bool-value>] -
Instead of only considering annotated tags, consider lightweight tags as well.
-
abbrev=<number> -
Instead of using the default number of hexadecimal digits (which will vary according to the number of objects in the repository with a default of 7) of the abbreviated object name, use <number> digits, or as many digits as needed to form a unique object name.
-
match=<mönster> -
Only consider tags matching the given
glob(7) <pattern>, excluding therefs/tags/prefix. -
exclude=<mönster> -
Do not consider tags matching the given
glob(7) <pattern>, excluding therefs/tags/prefix.
-
-
%S -
referensnamnet som anges pÄ kommandoraden genom vilket incheckningen nÄddes (som
gitlog--source), fungerar bara medgitlog -
%e -
kodning
-
%s -
Ă€mne
-
%f -
sanerad Àmnesrad, lÀmplig för ett filnamn
-
%b -
kropp
-
%B -
rÄ kropp (ej radbruten Àmnesrad och kropp)
-
%GG -
rÄtt verifieringsmeddelande frÄn GPG för en signerad incheckning
- %G?
-
visa "G" för en bra (giltig) signatur, "B" för en felaktig signatur, "U" för en bra signatur med okÀnd giltighetstid, "X" för en bra signatur som har gÄtt ut, "Y" för en bra signatur gjord av en utgÄngen nyckel, "R" för en bra signatur gjord av en Äterkallad nyckel, "E" om signaturen inte kan kontrolleras (t.ex. saknad nyckel) och "N" för ingen signatur
-
%GS -
visa namnet pÄ signeraren för en signerad incheckning
-
%GK -
visa nyckeln som anvÀnds för att signera en signerad incheckning
-
%GF -
visa fingeravtrycket pÄ nyckeln som anvÀnds för att signera en signerad incheckning
-
%GP -
visa fingeravtrycket för den primÀrnyckel vars undernyckel anvÀndes för att signera en signerad incheckning
-
%GT -
visa förtroendenivÄn för nyckeln som anvÀnds för att signera en signerad incheckning
-
%gD -
reflog-vÀljare, t.ex.
refs/stash@{1}ellerrefs/stash@{2minutesago}; formatet följer reglerna som beskrivs för alternativet-g. Delen före@Àr refnamnet som det anges pÄ kommandoraden (sÄgitlog-grefs/heads/masterskulle gerefs/heads/master@{0}). -
%gd -
förkortad reflog-vÀljare; samma som
%gD, men refname-delen Àr förkortad för mÀnsklig lÀsbarhet (sÄrefs/heads/masterblir baramaster). -
%gn -
reflog-identitets namn
-
%gN -
namn pÄ reflog-identitet (för .mailmap, se git-shortlog[1] eller git-blame[1])
-
%ge -
reflog-identitet e-postadress
-
%gE -
reflog-identitet e-postadress (respekterar .mailmap, se git-shortlog[1] eller git-blame[1])
-
%gs -
reflog Àmne
-
%(trailers[:<alternativ>,...]) -
visa slutrad för brödtexten sÄ som de tolkas av git-interpret-trailers[1]. StrÀngen
trailerskan följas av ett kolon och noll eller fler kommaseparerade alternativ. Om nÄgot alternativ anges flera gÄnger vinner den sista förekomsten.-
key=<nyckel> -
Visar bara slutrader med angiven <nyckel>. Matchning sker skiftlÀgesokÀnsligt och avslutande kolon Àr valfritt. Om flaggan anges flera gÄnger visas slutrader som matchar nÄgon av nycklarna. Flaggan aktiverar automatiskt
onlysÄ att rader som inte Àr slutrader i slutradsblocket döljs. Om det inte önskas kan det inaktiveras medonly=false. T.ex. visar%(trailers:key=Reviewed-by) slutrader med nyckelnReviewed-by. -
only[=<bool>] -
VÀlj om rader som inte Àr slutrader i slutradsblocket ska inkluderas.
-
separator=<sep> -
Ange avgrÀnsaren som infogas mellan slutrader. Standard Àr ett radmatningstecken. StrÀngen <sep> kan innehÄlla de bokstavliga formateringskoder som beskrivs ovan. För att anvÀnda kommatecken som avgrÀnsare mÄste man anvÀnda
%x2Ceftersom det annars tolkas som nÀsta alternativ. T.ex. visar%(trailers:key=Ticket,separator=%x2C) alla slutrader vars nyckel ÀrTicketavgrÀnsade med kommatecken och mellanslag. -
unfold[=<bool>] -
Gör att det beter sig som om interpret-trailers
--unfold-flagga angetts. T.ex. vecklar%(trailers:only,unfold=true) ut och visar alla slutrader. -
keyonly[=<bool>] -
Visa bara nyckeldelen av slutraden.
-
valueonly[=<bool>] -
Visa bara vÀrdedelen av slutraden.
-
key_value_separator=<sep> -
Ange avgrÀnsaren som infogas mellan nyckel och vÀrde i varje slutrad. Standard Àr ": ". I övrigt har den samma semantik som
separator=<sep> ovan.Anger avgrÀnsaren som infogas mellan nyckeln och vÀrdet för varje slutrad. StandardvÀrdet Àr ": ". Annars delar den samma semantik somseparator=<sep> ovan.
-
NoteVissa platshÄllare kan vara beroende av andra alternativ som ges till revisionsgenomgÄngsmotorn. Till exempel kommer reflog-alternativen %g*att infoga en tom strÀng om vi inte gÄr igenom reflog-poster (t.ex. medgitlog-g). PlatshÄllarna%doch%Dkommer att anvÀnda det "korta" dekorationsformatet om--decorateinte redan angavs pÄ kommandoraden.De booleska alternativen accepterar ett valfritt vÀrde [
=<bool-value>]. VÀrdena som tas av--type=boolgit-config[1], somyesochoff, accepteras alla. Att ge ett booleskt alternativ utan=<vÀrde> Àr liktydigt med att ge det med=true.Om du lÀgger till ett
+(plustecken) efter%för en platshÄllare infogas en radmatning omedelbart före expansionen om och endast om platshÄllaren expanderar till en strÀng som inte Àr tom.Om du lÀgger till ett
-(minustecken) efter%för en platshÄllare, raderas alla radmatningar omedelbart före expansionen om och endast om platshÄllaren expanderar till en tom strÀng.Om du lÀgger till ett (mellanslag) efter
%av en platshÄllare, infogas ett mellanslag omedelbart före expansionen om och endast om platshÄllaren expanderar till en strÀng som inte Àr tom. -
-
-
tformat: -
Formatet
tformat:fungerar precis somformat:, förutom att det tillhandahÄller "terminator"-semantik i stÀllet för "separator"-semantik. Med andra ord har varje incheckning meddelandets terminatortecken (vanligtvis en nyrad) tillagt, snarare Àn en avgrÀnsare placerad mellan poster. Detta innebÀr att den sista posten i ett enradigt format avslutas korrekt med en ny rad, precis som formatet "enradigt" gör. Till exempel:$ git log -2 --pretty=format:%h 4da45bef \ | perl -pe '$_ .= " -- NO NEWLINE\n" unless /\n/' 4da45be 7134973 -- NO NEWLINE $ git log -2 --pretty=tformat:%h 4da45bef \ | perl -pe '$_ .= " -- NO NEWLINE\n" unless /\n/' 4da45be 7134973
Dessutom, tolkas alla okÀnda strÀngar som innehÄller
%som om de hartformat:framför sig. Till exempel Àr dessa tvÄ likvÀrdiga:$ git log -2 --pretty=tformat:%h 4da45bef $ git log -2 --pretty=%h 4da45bef
EXEMPEL
-
Skriv ut listan över incheckningar som kan nÄs frÄn den aktuella grenen.
git rev-list HEAD
-
Skriv ut listan över incheckningar pÄ den hÀr grenen, men som inte finns i uppströmsgrenen.
git rev-list @{upstream}..HEAD -
Formatera incheckningar med deras författare och incheckningsmeddelande (se Àven högnivÄkommandot git-log[1]).
git rev-list --format=medium HEAD
-
Formatera incheckningar tillsammans med deras diffar (se Àven anvÀndarkommandot git-log[1], som kan göra detta i en enda process).
git rev-list HEAD | git diff-tree --stdin --format=medium -p
-
Skriv ut listan över incheckningar pÄ den aktuella grenen som berörde nÄgon fil i katalogen
Dokumentation.git rev-list HEAD -- Dokumentation/
-
Skriv ut listan över incheckningar som du har författat under det senaste Äret, pÄ valfri gren, tagg eller annan referens.
git rev-list --author=you@example.com --since=1.year.ago --all
-
Skriv ut listan över objekt som kan nÄs frÄn den aktuella grenen (d.v.s. alla incheckningar och de blobbar och trÀd de innehÄller).
git rev-list --objects HEAD
-
JÀmför diskstorleken för alla nÄbara objekt, med de som Àr nÄbara frÄn refloggar, och den totala packade storleken. Detta kan avgöra om
gitrepack-adkan minska kodförrÄdets storlek (genom att ta bort oÄtkomliga objekt), och om utgÄngna refloggar kan hjÀlpa.# nÄbara objekt git rev-list --disk-usage --objects --all # plus refloggar git rev-list --disk-usage --objects --all --reflog # total diskstorlek som anvÀnds du -c .git/objects/pack/*.pack .git/objects/??/* # alternativ till du: lÀgg ihop fÀlten "size" och "size-pack" git count-objects -v
-
Rapportera diskstorleken för varje gren, exklusive objekt som anvÀnds av den aktuella grenen. Detta kan hitta extremvÀrden som bidrar till en uppblÄst kodförrÄds-storlek (t.ex. för att nÄgon av misstag har genomfört stora byggartefakter).
git for-each-ref --format='%(refname)' | while read branch do size=$(git rev-list --disk-usage --objects HEAD..$branch) echo "$size $branch" done | sort -n
-
JÀmför storleken pÄ disken för grenar i en grupp av referenser, med undantag för en annan. Om du blandar objekt frÄn flera fjÀrrar i ett enda arkiv kan detta visa vilka fjÀrrar som bidrar till kodförrÄdets storlek (med storleken pÄ
originsom baslinje).git rev-list --disk-usage --objects --remotes=$suspect --not --remotes=origin
GIT
En del av git[1]-sviten