Git-show
Was ist git-show?
git-show
ist ein Befehlszeilen-Dienstprogramm, mit dem erweiterte Details zu Git-Objekten angezeigt werden können, z. B. Blobs, Strukturen, Tags und Commits. git-show
zeigt je nach Objekttyp ein spezifisches Verhalten.
Tags zeigen die Tag-Nachricht und andere im Tag enthaltene Objekte an. Strukturen zeigen die Namen und den Inhalt von Objekten in einer Struktur an. Blobs zeigen den direkten Inhalt des Blobs an. Commits zeigen eine Commit-Protokollnachricht an sowie eine Diff-Ausgabe zu den Änderungen im Commit.
Auf alle Git-Objekte kann über Referenzen zugegriffen werden. Standardmäßig bezieht sich git-show
auf die HEAD-Referenz. Die HEAD-Referenz verweist immer auf den letzten Commit des aktuellen Branch. Daher kannst du mithilfe von git-show
die Protokollnachricht und die Diff-Ausgabe des letzten Commit anzeigen.
Git-show – Optionen
<object>…
Eine Referenz auf ein Objekt oder eine Liste von Objekten kann übergeben werden, um diese spezifischen Objekte zu untersuchen. Wenn keine expliziten Objekte übergeben werden, wird git-show
standardmäßig auf die HEAD-Referenz gesetzt.
--pretty[=<format>]
Die Option --pretty nimmt einen der folgenden Sekundärformatwerte an: oneline, short, medium, full, fuller, email, raw
oder format:<string>
. Andernfalls wird das Format standardmäßig auf medium
gesetzt. Jede Formatoption ist eine unterschiedliche Vorlage und zeigt, wie Git die Anzeigeausgabe formatiert. Die Option <code>oneline</code> eignet sich für die Anzeige einer Liste von Commits.
--abbrev-commit
Diese Option verkürzt die Länge der Ausgabe-Commit-IDs. Commit-IDs bestehen aus 40 Zeichen und lassen sich auf schmalen Terminal-Bildschirmen schlecht lesen. Diese Option in Kombination mit --pretty=oneline
erzeugt eine komprimierte git log
-Ausgabe.
--no-abbrev-commit
Immer alle 40 Zeichen der Commit-ID anzeigen. Damit werden --abbrev-commit
und andere Optionen, die Commit-IDs verkürzen, z. B. --oneline format
, ignoriert.
Zugehöriges Material
Verschieben eines vollständigen Git-Repositorys
Lösung anzeigen
Git kennenlernen mit Bitbucket Cloud
--oneline
Dies ist ein Kürzel zur Verwendung des erweiterten Befehls --pretty=oneline --abbrev-commit
.
--encoding[=<encoding>]
Die Zeichenkodierung in Git-Protokollnachrichten wird standardmäßig auf UTF-8 gesetzt. Die Kodierungsoption kann zu einer anderen Zeichenkodierungsausgabe wechseln. Das ist sinnvoll, wenn du mit Git in einer Umgebung mit verschiedenen Zeichenkodierungen arbeitest, z. B. in einem asiatischen Sprachterminal.
>--expand-tabs=<n>
--expand-tabs
--no-expand-tabs
Diese Optionen ersetzen in der Protokollnachricht die Tabulatorzeichen durch Leerzeichen. Über den Wert n
kannst du festlegen, auf wie viele Leerzeichen die Tabulatoren erweitert werden sollen. Ohne eine explizite Angabe des n-Werts werden die Tabulatorzeichen auf 8 Leerzeichen erweitert. --no-expand-tabs
entspricht n=0
.
--notes=<ref>
--no-notes
Git verfügt über ein Notizsystem, bei dem beliebige Notiz-Metadaten an Objekte angehängt werden können. Diese Daten kannst du bei der Verwendung von git-show
ausblenden oder filtern.
--show-signature
Diese Option überprüft, ob das Commit mit einer verschlüsselten Signatur unterzeichnet ist, indem sie es an einen gpg-Unterbefehl übergibt.
Pretty-Formate für git-show
Die oben erläuterte Option --pretty
akzeptiert verschiedene Sekundäroptionen, um das Format der git-show
-Ausgabe zu formulieren. Diese Sekundäroptionen werden im Folgenden mit Beispielvorlagen aufgelistet.
- oneline
<sha1> <title line>
Oneline versucht so viele Informationen wie möglich in einer einzelnen Zeile zu komprimieren.
- 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
Das Format raw ignoriert andere direkte Formatierungsoptionen, die angit-show
übergeben werden, und gibt den Commit genau so aus, wie er im Objekt gespeichert ist. Raw übergeht--abrev
und--no-abbrev
und zeigt stets die übergeordneten Commits an.
- format:
format aktiviert die Spezifizierung eines benutzerdefinierten Ausgabeformats. Der Befehl funktioniert ähnlich wie der Befehlprintff
der Programmiersprache C. Die Option--pretty=format
nimmt den sekundären Wert einer Vorlagezeichenfolge an. Die Vorlage hat Zugriff auf Platzhaltervariablen, die mit Daten vom Commit-Objekt gefüllt werden. Diese Platzhalter werden im Folgenden aufgelistet:
• %H: Commit-Hash
• %h: abgekürzter Commit-Hash
• %T: Baum-Hash
• %t: abgekürzter Baum-Hash
• %P: übergeordnete Hashes
• %p: abgekürzte übergeordnete Hashes
• %an: Name des Autors
• %aN: Name des Autors
• %ae: E-Mail des Autors
• %aE: E-Mail des Autors
• %ad: Datum des Autors (laut Format: --date= Option)
• %aD: Datum des Autors, RFC2822-Format
• %ar: Datum des Autors, relativ
• %at: Datum des Autors, UNIX-Zeitstempel
• %ai: Datum des Autors, ISO 8601-Format
• %cn: Committer-Name
• %cN: Committer-Name
• %ce: Committer-E-Mail
• %cE: Committer-E-Mail
• %cd: Committer-Datum
• %cD: Committer-Datum, RFC2822-Format
• %cr: Committer-Datum, relativ
• %ct: Committer-Datum, UNIX-Zeitstempel
• %ci: Committer-Datum, ISO 8601-Format
• %d: Referenznamen wie die Option --decorate von git-log(1)
• %e: Verschlüsselung
• %s: Betreff
• %f: korrigierte Betreffzeile, geeignet für einen Dateinamen
• %b: Hauptteil
• %N: Commit-Notizen
• %gD: Reflog-Bereich, z. B. refs/stash@{1}
• %gd: gekürzter Reflog-Bereich, z. B. stash@{1}
• %gs: Reflog-Betreff
• %Cred: zur Farbe Rot wechseln
• %Cgreen: zur Farbe Grün wechseln
• %Cblue: zur Farbe Blau wechseln
• %Creset: Farbe zurücksetzen
• %C(...): Farbvorgabe wie unter der Konfigurationsoption color.branch.* beschrieben
• %m: linke, rechte oder Grenzmarkierung
• %n: Zeile
• %%: ein Raw-Wert in %
• %x00: Byte von Hexadezimalcode drucken
• %w([[, : Zeilenumbruch umschalten, wie die Option "-w" von git-shortlog[, ]]])
Beispiele für git-show
git show --pretty="" --name-only bd61ad98
Dies listet alle Dateien auf, die von einem Commit betroffen waren.
git show REVISION:path/to/file
Dies zeigt eine spezifische Version einer Datei an. Ersetze die REVISON
durch einen Git SHA.
git show v2.0.0 6ef002d74cbbc099e1063728cab14ef1fc49c783
Dies zeigt das v2.0.0-Tag an und führt einen Commit bei 6ef002d74cbbc099e1063728cab14ef1fc49c783
durch.
git show commitA...commitD
Dies gibt alle Commits im Bereich von commitA
bis commit D
aus.
Zusammenfassung
git-show
ist ein sehr vielseitiger Befehl zur Untersuchung von Objekten in einem Git-Repository. Er eignet sich dazu, spezifische Dateien bei spezifischen Überarbeitungen zu berücksichtigen. Bei der Überprüfung eines Commit-Bereichs mit git-show
wird jedes einzelne Commit im Bereich ausgegeben. git-show
kann außerdem genutzt werden, um Patch-Hinweise zu erstellen und Änderungen in einem Repository zu erfassen.
Diesen Artikel teilen
Nächstes Thema
Lesenswert
Füge diese Ressourcen deinen Lesezeichen hinzu, um mehr über DevOps-Teams und fortlaufende Updates zu DevOps bei Atlassian zu erfahren.