Svenska â–Ÿ Topics â–Ÿ Latest version â–Ÿ git-rev-list last updated in 2.54.0

NAMN

git-rev-list - Visa incheckningsobjekt i omvÀnd kronologisk ordning

SYNOPSIS

git rev-list [<flaggor>] <incheckning>
​ [--] [<sökvĂ€g>
​]

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-reflog vÀ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-reflogs anvÀ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=1 samma sak som --no-merges, och --min-parents=2 samma sak som --merges. --max-parents=0 ger alla rotincheckningar och --min-parents=3 alla blÀckfisksammanslagningar.

--no-min-parents och --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 med HEAD, listas pÄ kommandoraden som <incheckning>.

--branches[=<mönster>]

LÄtsas som om alla referenser i refs/heads listas 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/tags listas 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/remotes listas 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, --remotes eller --glob annars skulle ta med. Upprepningar av detta alternativ ackumulerar exkluderingsmönster fram till nÀsta --all, --branches, --tags, --remotes eller --glob (andra alternativ eller argument nollstÀller inte de ackumulerade mönstren).

Mönstren som anges ska inte börja med refs/heads, refs/tags eller refs/remotes nÀr de tillÀmpas pÄ --branches, --tags respektive --remotes, och de mÄste börja med refs/ nÀr de tillÀmpas pÄ --glob eller --all. Om ett efterföljande /* Àr avsett mÄste det anges explicit.

--exclude-hidden=(fetch|receive|uploadpack)

Inkludera inte referenser som skulle döljas av git-fetch, git-receive-pack eller git-upload-pack enligt konfigurationen fetch.hideRefs, receive.hideRefs eller uploadpack.hideRefs tillsammans med transfer.hideRefs (se git-config[1]). Detta alternativ pÄverkar nÀsta pseudo-ref-alternativ --all eller --glob och 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 av core.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, --reflog och --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 --all och --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 --not som 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/null eftersom 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 git cat-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Ă€rdet human visas 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, A och B, Ă€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-only A...B utelÀmnar de incheckningar frÄn B som finns i A eller Àr patch-ekvivalenta med en incheckning i A. Med andra ord listar detta + incheckningar frÄn git cherry A B. Mer exakt ger --cherry-pick --right-only --no-merges den 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 med git log --cherry upstream...mybranch, liknande git cherry upstream mybranch.

-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 Àn oneline och reference (av uppenbara skÀl) fÄr utdata tvÄ extra informationsrader hÀmtade frÄn refloggen. Reflog-beteckningen i utdata kan visas som ref@{<Nth>} (dÀr <Nth> Àr det omvÀnd kronologiska indexet i refloggen) eller som ref@{<timestamp>} (med <timestamp> för posten), beroende pÄ nÄgra regler:

  1. Om startpunkten anges som ref@{<N:te>}, visa indexformatet.

  2. Om startpunkten angavs som ref@{now}, visa tidsstÀmpelformatet.

  3. Om ingetdera anvÀndes, men --date angavs pÄ kommandoraden, visa tidsstÀmpeln i det format som begÀrs av --date.

  4. Annars, visa indexformatet.

Under --pretty=oneline prefixas incheckningsmeddelandet med denna information pÄ samma rad. Alternativet kan inte kombineras med --reverse. Se Àven git-reflog[1].

Under --pretty=reference kommer 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 i MERGE_HEAD, CHERRY_PICK_HEAD, REVERT_HEAD eller REBASE_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 --objects kommer 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, --boundary och --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:

<sökvÀgar>

Incheckningar som Àndrar de angivna <sökvÀgarna> Àr markerade.

--simplify-by-decoration

Incheckningar som refereras av nÄgon gren eller tagg vÀljs.

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-history fö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Ă€r foo finns med innehĂ„llet asdf, och en fil quux finns med innehĂ„llet quux. Initiala incheckningar jĂ€mförs med ett tomt trĂ€d, sĂ„ I Ă€r !TREESAME.

  • I A innehĂ„ller foo bara foo.

  • B innehĂ„ller samma Ă€ndring som A. Dess sammanslagning M Ă€r trivial och dĂ€rför TREESAME för alla förĂ€ldrar.

  • C Ă€ndrar inte foo, men dess sammanslagning N Ă€ndrar det till foobar, sĂ„ det Ă€r inte TREESAME med nĂ„gon förĂ€lder.

  • D sĂ€tter foo till baz. Dess sammanslagning O kombinerar strĂ€ngarna frĂ„n N och D till foobarbaz; d.v.s. den Ă€r inte TREESAME med nĂ„gon förĂ€lder.

  • E Ă€ndrar quux till xyzzy, och dess sammanslagning P kombinerar strĂ€ngarna till quux xyzzy. P Ă€r TREESAME till O, men inte till E.

  • X Ă€r en oberoende rot-incheckning som lade till en ny fil side, och Y modifierade den. Y Ă€r TREESAME till X. Dess sammanslagning Q lade till side till P, och Q Ă€r TREESAME till P, men inte till Y.

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 --sparse nedan). 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 B helt frÄn beaktande. C beaktades via N, 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-history utan 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

M exkluderades eftersom det Àr TREESAME för bÄda förÀldrarna. E, C och B fick alla gÄ, men endast B var !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-history med förÀldraomskrivning

Vanliga incheckningar inkluderas endast om de Àr !TREESAME (Àven om detta kan Àndras, se --sparse nedan).

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-history utan att skriva om ovan. Observera att E beskars 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ör C och N, och X, Y och Q.

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-history fö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-history med förÀldraomskrivning gör (se ovan).

Förenkla sedan varje incheckning C till dess ersÀttning C' i den slutliga historiken enligt följande regler:

  • SĂ€tt C' till C.

  • ErsĂ€tt varje förĂ€lder P till C' med dess förenkling P'. 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-history med förÀldraomskrivning. Exemplet blir:

	  .-A---M---N---O
	 /     /       /
	I     B       D
	 \   /       /
	  `---------'

Notera de största skillnaderna i N, P och Q jÀ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Ă„ fanns N kvar eftersom den Ă€r !TREESAME.

  • PĂ„ liknande sĂ€tt togs I bort 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. X togs sedan bort eftersom det var en TREESAME-rot. Q togs 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 M som Àr kontaminerade med programfelet som introducerades av D och behöver ÄtgÀrdas, kanske vi bara vill visa den delmÀngd av D..M som faktiskt Àr Àttlingar till D, d.v.s. exklusive C och K. Det Àr precis vad alternativet --ancestry-path gö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=D i stÀllet för --ancestry-path vilket 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..M som innehÄller det Àmnet i sin förfÀders-sökvÀg. SÄ att anvÀnda --ancestry-path=H D..M till exempel skulle resultera i:

		E
		 \
	      C---G---H---I---J
			       \
				L--M

Medan --ancestry-path=K D..M skulle resultera i

		K---------------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-pulls anvÀnds i detta exempel (och inga andra alternativ) Àr den resulterande grafen:

	I---X---R---N

HÀr inkluderas sammanslagningsincheckningarna R och N eftersom de drog in incheckningarna X respektive R i basgrenen. Dessa sammanslagningar Àr anledningen till att incheckningarna A och B inte visas i standardhistoriken.

NÀr --show-pulls paras ihop med --simplify-merges innehÄller grafen all nödvÀndig information:

	  .-A---M--.   N
	 /     /    \ /
	I     B      R
	 \   /      /
	  \ /      /
	   `---X--'

Observera att eftersom M kan nÄs frÄn R har kanten frÄn N till M förenklats bort. N visas dock fortfarande i historiken som en viktig incheckning eftersom den drog in Àndringen R i 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/bad lÀggs till de inkluderade incheckningarna (om den finns) och de bra bisektionsreferenserna refs/bisect/good-* lÀggs till de exkluderade incheckningarna (om de finns). Om vi antar att det inte finns nÄgra referenser i refs/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 i refs/bisect/ inte anvÀnds och att texten skrivs ut i format som kan evalueras av skalet. Dessa rader tilldelar namnet pÄ mittpunktsrevisionen till variabeln bisect_rev, det förvÀntade antalet incheckningar att testa efter att bisect_rev testats till bisect_nr, det förvÀntade antalet incheckningar att testa om bisect_rev visar sig vara bra till bisect_good, det förvÀntade antalet incheckningar att testa om bisect_rev visar sig vara dÄlig till bisect_bad, samt antalet incheckningar vi bisekterar just nu till bisect_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-vars hade 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 git rev-list och vÀnner med --date-order incheckningar i tidsstÀmpelordningen: 8 7 6 5 4 3 2 1.

Med --topo-order skulle 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. --objects foo ^bar betyder alltsÄ "skicka mig alla objekt-ID:n som jag behöver ladda ner om jag har incheckningsobjektet bar men inte foo". Se Àven --object-names nedan.

--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-edge fö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:none utelÀ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. Suffixen k, m och g kan anvÀndas för att namnge enheter i KiB, MiB eller GiB. Till exempel Àr blob:limit=1k detsamma 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-objects ocksÄ 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 --stdin anvÀ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:none och combine:tree%3A3+blob%3Anone likvÀ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=error begÀr att rev-list ska stoppas med ett felmeddelande om ett saknat objekt pÄtrÀffas. Detta Àr standardÄtgÀrden.

Formen --missing=allow-any tillÄ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 som allow-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 som allow-any, men skriver ocksĂ„ ut en lista över de saknade objekten. Objekt-ID:n har prefixet “?”.

Formen --missing=print-info Àr som print, 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-promisor eftersom 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 unsorted anges visas incheckningarna i den ordning de angavs pÄ kommandoraden. Annars (om sorted eller 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> och tformat:<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Ànds medium som standard.

Note
Du 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=oneline mycket 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Ä variabeln log.abbrevCommit.

--oneline

Det Àr en förkortning för --pretty=oneline --abbrev-commit som 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 X och vi matar ut i X, 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, full och fuller).

--show-signature

Kontrollera giltigheten hos ett signerat incheckningsobjekt genom att skicka signaturen till gpg --verify och 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 --pretty anvÀnds. Konfigurationsvariabeln log.date anger ett standardvÀrde för log-kommandots --date-alternativ. Som standard visas datum i den ursprungliga tidszonen (antingen incheckarens eller författarens). Om -local lÀggs till i formatet (t.ex. iso-local) anvÀnds anvÀndarens lokala tidszon i stÀllet.

--date=relative visar datum i förhĂ„llande till aktuell tid, t.ex. “2 hours ago”. Alternativet -local har 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=short visar bara datumet, men inte tiden, i formatet YYYY-MM-DD.

--date=raw visar 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 med strftime("%s %z")). Observera att alternativet -local inte pÄverkar vÀrdet sekunder-sedan-epoken (som alltid mÀts i UTC), men Àndrar det tillhörande tidszonvÀrdet.

--date=human visar 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=unix visar datumet som en Unix-epoktidsstÀmpel (sekunder sedan 1970). Precis som med --raw Àr detta alltid i UTC och dÀrför har -local ingen effekt.

--date=format:<format> matar <format> till ditt system strftime, förutom %s, %z och %Z, som hanteras internt. AnvÀnd --date=format:%c för att visa datumet i ditt systemsprÄks föredragna format. Se manualen för strftime(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. Thu Jan 1 00:00:00 1970 +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 --boundary har 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-order kan ocksÄ anges.

--show-linear-break[=<barriÀr>]

NÀr --graph inte 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=short om inte ett annat --date-alternativ uttryckligen anges. Precis som med alla format: med formatplatshÄllare pÄverkas inte dess utdata av andra alternativ som --decorate och --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 --abbrev eller --no-abbrev anvÀnds, och informationen i parents visar 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. med git log --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 %n i 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:

    %n

    newline

    %%

    en rÄ %

    %x00

    %x följt av tvÄ hexadecimala siffror ersÀtts med en byte med de hexadecimala siffrornas vÀrde (vi kommer att kalla detta "bokstavlig formateringskod" i resten av detta dokument).

  • 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.ui eller --color, och med respekt för auto-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=always för att aktivera fÀrg för hela utdata, inklusive detta format och allt annat som git kan fÀrga). Enbart auto (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 -w i 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=human i 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=human i 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-format in format-patch

    %(total)

    the total number of patches in a patch series. Used only in --commit-list-format in format-patch

    %(decorate[:<option>,...])

    referensnamn med anpassade dekorationer. StrÀngen decorate kan 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 describe string 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 the refs/tags/ prefix.

    exclude=<mönster>

    Do not consider tags matching the given glob(7) <pattern>, excluding the refs/tags/ prefix.

    %S

    referensnamnet som anges pÄ kommandoraden genom vilket incheckningen nÄddes (som git log --source), fungerar bara med git log

    %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} eller refs/stash@{2 minutes ago}; formatet följer reglerna som beskrivs för alternativet -g. Delen före @ Àr refnamnet som det anges pÄ kommandoraden (sÄ git log -g refs/heads/master skulle ge refs/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/master blir bara master).

    %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 trailers kan 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 only sÄ att rader som inte Àr slutrader i slutradsblocket döljs. Om det inte önskas kan det inaktiveras med only=false. T.ex. visar %(trailers:key=Reviewed-by) slutrader med nyckeln Reviewed-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 %x2C eftersom det annars tolkas som nÀsta alternativ. T.ex. visar %(trailers:key=Ticket,separator=%x2C ) alla slutrader vars nyckel Àr Ticket avgrÀ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 som separator=<sep> ovan.

    Note
    Vissa 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. med git log -g). PlatshÄllarna %d och %D kommer att anvÀnda det "korta" dekorationsformatet om --decorate inte redan angavs pÄ kommandoraden.

    De booleska alternativen accepterar ett valfritt vÀrde [=<bool-value>]. VÀrdena som tas av --type=bool git-config[1], som yes och off, 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 som format:, 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 har tformat: 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 git repack -ad kan 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Ă„ origin som baslinje).

    git rev-list --disk-usage --objects --remotes=$suspect --not --remotes=origin

GIT

En del av git[1]-sviten