Git-show
Wat is git-show?
git-show
is een opdrachtregelprogramma dat wordt gebruikt om uitgebreide informatie over Git-objecten te bekijken, zoals blobs, structuren, tags en commits. git-show
vertoont specifiek gedrag per objecttype.
De tags geven het tagbericht en andere objecten weer die in de tag zijn opgenomen. Structuren tonen de namen en inhoud van objecten in een structuur. Blobs geven de directe inhoud van de blob weer. Commits tonen een commitlogbericht en een diff-output van de wijzigingen in de commit.
Git-objecten zijn allemaal toegankelijk via referenties. Git-show
werkt standaard ten opzichte van de HEAD-referentie. De HEAD-referentie verwijst altijd naar de laatste commit van de huidige branch. Daarom kun je git-show
gebruiken om het logbericht en de diff-output van de laatste commit weer te geven.
Opties voor GIT-show
<object>...
Een referentie naar een object of lijst met objecten kan worden doorgegeven om die specifieke objecten te onderzoeken. Als er geen expliciete objecten worden doorgegeven, is git-show
standaard ingesteld op de HEAD-referentie.
--pretty[=<format>]
De optie PRETTY heeft een secundaire indelingswaarde, die kan bestaan uit een van de vologende items: oneline, short, medium, full, fuller, email, raw
en format:<string>
. Indien weggelaten, is het indeling standaard ingesteld op medium
. Elke indelingsoptie is een andere sjabloon voor hoe Git de output van show indeelt. De optie <code>oneline</code> kan erg handig zijn om een lijst met commits weer te geven.
--abbrev-commit
Deze optie verkort de lengte van de uitgevoerde commit-ID's. Commit-ID's zijn 40 tekens lang en kunnen moeilijk leesbaar zijn op smalle terminalschermen. Deze optie in combinatie met --pretty=oneline
kan een zeer beknopte git log
-output opleveren.
--no-abbrev-commit
Toon altijd de volledige commit-ID van 40 tekens. Hiermee negeert u --abbrev-commit
en alle andere opties waarmee commit-ID's worden afgekort, zoals het --oneline format
gerelateerd materiaal
Een volledige Git-repository verplaatsen
Oplossing bekijken
Git leren met Bitbucket Cloud
--oneline
Dit is een sneltoets om de uitgebreide opdracht --pretty=oneline --abbrev-commit
te gebruiken
--encoding[=<encoding>]
De tekencodering op Git-logberichten is standaard UTF-8. De coderingsoptie kan worden veranderd in een andere output voor tekencodering. Dit is handig als je met Git werkt in een omgeving met een andere tekencodering, zoals een terminal voor een Aziatische taal.
>--expand-tabs=<n>
--expand-tabs
--no-expand-tabs
Deze opties vervangen tabtekens door spaties in de output van het logbericht. De waarde n
kan worden ingesteld om aan te geven in hoeveel spatietekens de tabs worden omgezet. Zonder een expliciete n-waarde worden tabs omgezet in 8 spaties. --no-expand-tabs
is gelijk aan n=0
--notes=<ref>
--no-notes
Git heeft een notitiesysteem waarmee willekeurige metagegevens als 'notities' aan objecten kunnen worden gekoppeld. Deze gegevens kunnen verborgen of gefilterd worden als je git-show
gebruikt.
--show-signature
Deze optie valideert dat de commit is ondertekend met een gecodeerde handtekening door deze door te geven aan een gpg-subopdracht.
Pretty-indelingen voor git-show
De hierboven besproken optie --pretty
accepteert verschillende secundaire opties om de indeling van git-show
-output te masseren. Deze secundaire opties worden hieronder vermeld, met een voorbeeldsjabloon.
- oneline
<sha1> <title line>
Oneline probeert zoveel mogelijk informatie samen te voegen op één regel.
- short
commit <sha1>
Author: <author>
<title line>
- medium
commit <sha1>
Author: <author>
Date: <author date>
<title line>
<full commit message>
- full
commit <sha1>
Author: <author>
Commit: <committer>
<title line>
<full commit message>
- fuller
commit <sha1>
Author: <author>
AuthorDate: <author date>
Commit: <committer>
CommitDate: <committer date>
<title line>
<full commit message>
- email
From <sha1> <date>
From: <author>
Date: <author date>
Subject: [PATCH] <title line>
<full commit message>
- raw
De raw-indeling negeert andere directe opmaakopties die aangit-show
zijn doorgegeven en voert de commit precies uit zoals deze is opgeslagen in het object. Raw negeert--abrev
en--no-abbrev
en toont altijd de bovenliggende commits.
- format:
Hiermee kan een aangepaste outputindeling worden gespecificeerd. Dit werkt op dezelfde manier als de opdrachtprintf
in de programmeertaal C. De optie--pretty=format
vereist een secundaire waarde van een sjabloontekenreeks. De sjabloon heeft toegang tot placeholder-variabelen die worden gevuld met gegevens uit het commit-object. Deze placeholders worden hieronder vermeld:
• %H: commit-hash
• %h: afgekorte commit-hash
• %T: structuur-hash
• %t: afgekorte structuur-hash
• %P: bovenliggende hashes
• %p: afgekorte bovenliggende hashes
• %an: auteursnaam
• %aN: auteursnaam
• %ae: e-mailadres van auteur
• %aE: e-mailadres van auteur
• %ad: auteursdatum (notatie volgens de optie --date=)
• %aD: auteursdatum, RFC2822-stijl
• %ar: auteursdatum, relatief
• %at: auteursdatum, UNIX-tijdstempel
• %ai: auteursdatum, ISO 8601-indeling
• %cn: naam van committer
• %cN: naam van committer
• %ce: e-mailadres van committer
• %cE: e-mailadres van committer
• %cd: datum van committer
• %cD: datum van committer, RFC2822-stijl
• %cr: datum van committer, relatief
• %ct: datum van committer, UNIX-tijdstempel
• %ci: datum van committer, ISO 8601-indeling
• %d: referentienamen, zoals de optie --decorate van git-log(1)
• %e: codering
• %s: onderwerp
• %f: opgeschoonde onderwerpregel, geschikt voor een bestandsnaam
• %b: hoofdtekst
• %N: commit-notities
• %gD: reflog-selector, bijv. refs/stash@{1}
• %gd: ingekorte reflog selector, bijv. stash@{1}
• %gs: reflog-onderwerp
• %Cred: verander kleur in rood
• %Cgreen: verander kleur in groen
• %Cblue: verander kleur in blauw
• %Creset: reset kleur
• %C(...): kleurspecificatie, zoals beschreven in de configuratieoptie color.branch.*
• %m: links, rechts of grensteken
• %n: nieuwe regel
• %%: a onbewerkt %
• %x00: print a byte uit een hexadecimale code
• %w([[, : verander de regelterugloop, zoals de optie -w van git-shortlog[, ]]])
Voorbeelden van git-show
git show --pretty="" --name-only bd61ad98
Hier worden alle bestanden vermeld die zijn verwerkt tijdens een commit.
git show REVISION:path/to/file
Dit toont een specifieke versie van een bestand. Vervang de REVISON
door een Git sha.
git show v2.0.0 6ef002d74cbbc099e1063728cab14ef1fc49c783
Dit toont de v2.0.0-tag en ook een commit op 6ef002d74cbbc099e1063728cab14ef1fc49c783
git show commitA...commitD
Dit levert als output alle commits op in het bereik van commit A
tot commit D.
Samenvatting
git-show
is een zeer veelzijdige opdracht voor het onderzoeken van objecten in een Git-repo. De opdracht kan worden gebruikt om specifieke bestanden te targeten in specifieke revisies. Als je een commit-bereik onderzoekt met git-show
, worden alle individuele commits in het bereik weergegeven. git-show
kan een handige tool zijn om patch-notities aan te maken en wijzigingen bij te houden in een repository.
Deel dit artikel
Volgend onderwerp
Aanbevolen artikelen
Bookmark deze resources voor meer informatie over soorten DevOps-teams of voor voortdurende updates over DevOps bij Atlassian.