Close

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.

Datenbanken
Zugehöriges Material

Verschieben eines vollständigen Git-Repositorys

Bitbucket-Logo
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 an git-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 Befehl printff 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.

Mitarbeiter arbeiten mit unzähligen Tools zusammen

Bitbucket-Blog

Abbildung: DevOps

DevOps-Lernpfad

Demo Den: Feature-Demos mit Atlassian-Experten

So funktioniert Bitbucket Cloud mit Atlassian Open DevOps

Melde dich für unseren DevOps-Newsletter an

Thank you for signing up