Aufgeschlagenes Buch mit Git-Branch und Cloud

Git-show

Was ist git-show?

git-show ist ein Befehlszeilen-Dienstprogramm, mit dem erweiterte Details zu Git-Objekten wie Blobs, Strukturen, Tags und Commits angezeigt werden können. 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 zeigt stets 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


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[=]
Die Option --pretty nimmt einen der folgenden Sekundärformatwerte an: oneline, short, medium, full, fuller, email, raw oder format:. Andernfalls wird das Format standardmäßig auf medium gesetzt. Jede Formatoption ist eine unterschiedliche Vorlage und zeigt, wie Git die Anzeigeausgabe formatiert. Die Option oneline 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 schlecht auf schmalen Terminal-Bildschirmen lesen. Diese Option in Kombination mit --pretty=oneline erzeugt eine komprimierte git log-Ausgabe.

--no-abbrev-commit
Zeigt stets die 40 Zeichen lange Commit-ID an. Ignoriert damit --abbrev-commit und andere Optionen, die Commit-IDs abkürzen wie --oneline format

--oneline
Es handelt sich um ein Kürzel für die Verwendung des erweiterten Befehls --pretty=oneline --abbrev-commit

--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, wie das asiatische Sprachterminal.

>--expand-tabs=
--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=
--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 weitergibt.

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
    </code></li> </ul> <p>Oneline versucht so viele Informationen wie möglich in einer einzelnen Zeile zu komprimieren.</p> <ul> <li><strong>short</strong><br /> <code>commit <sha1><br /> Author: <author><br /> <title line></code></li> </ul> <ul> <li><strong>medium</strong><br /> <code>commit <sha1><br /> Author: <author><br /> Date: <author date><br /> <title line><br /> <full commit message></code></li> </ul> <ul> <li><strong>full</strong><br /> <code>commit <sha1><br /> Author: <author><br /> Commit: <committer><br /> <title line><br /> <full commit message></code></li> </ul> <ul> <li><strong>fuller</strong><br /> <code>commit <sha1><br /> Author: <author><br /> AuthorDate: <author date><br /> Commit: <committer><br /> CommitDate: <committer date><br /> <title line><br /> <full commit message></code></li> </ul> <ul> <li><b>email</b><br /> <code>From <sha1> <date><br /> From: <author><br /> Date: <author date><br /> Subject: [PATCH] <title line><br /> <full commit message></code></li> </ul> <ul> <li><strong>raw</strong><br /> Das Format <strong>raw</strong> ignoriert andere direkte Formatierungsoptionen, die an <code>git-show</code> übergegeben werden, und gibt den Commit genau so aus, wie er im Objekt gespeichert ist. Raw übergeht <code>--abrev</code> und <code>--no-abbrev</code> und zeigt stets die übergeordneten Commits an.</code></li> </ul> <ul> <li><strong>format:</strong><br /> format aktiviert die Spezifizierung eines benutzerdefinierten Ausgabeformats. Der Befehl funktioniert ähnlich wie der Befehl <code>printff</code> der Programmiersprache C. Die Option <code>--pretty=format</code> nimmt einen 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:<br /> <br /> • <em>%H</em>: Commit-Hash<br /> • <em>%h</em>: abgekürzter Commit-Hash<br /> • <em>%T</em>: Baum-Hash<br /> • <em>%t</em>: abgekürzter Baum-Hash<br /> • <em>%P</em>: übergeordnete Hashes<br /> •<em> %p</em>: abgekürzte übergeordnete Hashes<br /> •<em> %an</em>: Name des Autors<br /> • <em>%aN</em>: Name des Autors <br /> • <em>%ae</em>: E-Mail des Autors<br /> • <em>%aE</em>: E-Mail des Autors <br /> •<em> %ad</em>: Datum des Autors (laut Format: --date= Option)<br /> •<em> %aD</em>: Datum des Autors, RFC2822-Format<br /> • <em>%ar</em>: Datum des Autors, relativ<br /> •<em> %at</em>: Datum des Autors, UNIX-Zeitstempel<br /> •<em> %ai</em>: Datum des Autors, ISO 8601-Format<br /> <em>• %cn</em>: Committer-Name<br /> • <em>%cN</em>: Committer-Name <br /> • <em>%ce</em>: Committer-E-Mail<br /> • <em>%cE</em>: Committer-E-Mail <br /> •<em> %cd</em>: Committer-Datum<br /> • <em>%cD</em>: Committer-Datum, RFC2822-Format<br /> •<em> %cr</em>: Committer-Datum, relativ<br /> • <em>%ct</em>: Committer-Datum, UNIX-Zeitstempel<br /> •<em> %ci</em>: Committer-Datum, ISO 8601-Format<br /> •<em> %d</em>: Referenznamen wie die Option --decorate von git-log(1)<br /> •<em> %e</em>: Verschlüsselung<br /> •<em> %s</em>: Betreff<br /> •<em> %f</em>: korrigierte Betreffzeile, geeignet für einen Dateinamen<br /> <em>• %b</em>: Hauptteil<br /> •<em> %N</em>: Commit-Notizen<br /> •<em> %gD</em>: Reflog-Bereich, z. B. refs/stash@{1}<br /> •<em> %gd</em>: gekürzter Reflog-Bereich, z. B. stash@{1}<br /> • <em>%gs</em>: Reflog-Betreff<br /> • <em>%Cred</em>: zur Farbe Rot wechseln<br /> •<em> %Cgreen</em>: zur Farbe Grün wechseln<br /> • <em>%Cblue</em>: zur Farbe Blau wechseln<br /> • <em>%Creset</em>: Farbe zurücksetzen <br /> • <em>%C(...)</em>: Farbvorgabe wie unter der Konfigurationsoption color.branch.* beschrieben<br /> •<em> %m</em>: linke, rechte oder Grenzmarkierung<br /> • <em>%n</em>: neue Zeile<br /> • <em>%%</em>: ein Raw-Wert in %<br /> • <em>%x00</em>: Byte von Hexadezimalcode drucken<br /> • <em>%w([<w>[,<i1>[,<i2>]]])</em>: Zeilenumbruch umschalten, wie die Option "-w" von git-shortlog</li> </ul> <h3 > Beispiele für git-show </h3> <div class="component component--codeblock"> <pre><code>git show --pretty="" --name-only bd61ad98</code></pre> </div> <script type="text/x-component"> { "type":"imkt.wpl.CodeBlock", "params": { } } </script> <p>Dies listet alle Dateien auf, die von einem Commit betroffen waren.</p> <div class="component component--codeblock"> <pre><code>git show REVISION:path/to/file</code></pre> </div> <script type="text/x-component"> { "type":"imkt.wpl.CodeBlock", "params": { } } </script> <p>Dies zeigt eine spezifische Version einer Datei an. Ersetze die <code>REVISON</code> durch einen Git SHA.</p> <div class="component component--codeblock"> <pre><code>git show v2.0.0 6ef002d74cbbc099e1063728cab14ef1fc49c783</code></pre> </div> <script type="text/x-component"> { "type":"imkt.wpl.CodeBlock", "params": { } } </script> <p>Dies zeigt den v2.0.0-Tag an und führt einen Commit bei <code>6ef002d74cbbc099e1063728cab14ef1fc49c783</code> durch.</p> <div class="component component--codeblock"> <pre><code>git show commitA...commitD</code></pre> </div> <script type="text/x-component"> { "type":"imkt.wpl.CodeBlock", "params": { } } </script> <p>Dies gibt alle Commits im Bereich von <code>commitA</code> bis <code>commit D</code> aus.</p> <h3 > Zusammenfassung </h3> <p><code>git-show</code> 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 <code>git-show</code> wird jedes einzelne Commit im Bereich ausgegeben. Mit <code>git-show</code> können außerdem Patch-Hinweise und das Verfolgen von Änderungen in einem Repository erstellt werden.</p> </div></div> </div> </div> </div> <div id="footer" class="footer is-tutorial "> <div class="g-row _atlassian-logo"> <div class="g-column g-12-12"> <h5 > Entwickelt von </h5> <a href="https://bitbucket.org" class="cms-link cms-link--image" ><img src="https://wac-cdn.atlassian.com/dam/jcr:c3392b46-dcac-4283-8855-dd8fda6918a0/Bitbucket-white.svg?cdnVersion=1267" loading="lazy" alt="Atlassian"></a> </div></div> <div class="g-row"> <div class="g-column g-4-12 t-12-12 m-12-12 t-gutterless"> <h6 > Empfiehl uns weiter </h6> <a href="https://twitter.com/home?status=Switching%20to%20%23Git?%20Use%20the%20Atlassian%20Git%20tutorials%20to%20jumpstart%20your%20training%20in%20Git%20commands%20and%20workflows.%20https://www.atlassian.com/git" class="cms-link cms-link--image social-code" ><img src="https://wac-cdn.atlassian.com/dam/jcr:69b49692-9452-4dd9-aca1-df56b2bbadbd/icon-twitter.svg?cdnVersion=1267" loading="lazy" alt="Twitter"></a> <a href="https://www.facebook.com/sharer/sharer.php?u=https://www.atlassian.com/git" class="cms-link cms-link--image social-code" ><img src="https://wac-cdn.atlassian.com/dam/jcr:9c8da5cb-5272-4e89-9cc1-9a3f52265380/icon-facebook.svg?cdnVersion=1267" loading="lazy" alt="Facebook"></a> <a href="https://plus.google.com/share?url=https://www.atlassian.com/git" class="cms-link cms-link--image social-code" ><img src="https://wac-cdn.atlassian.com/dam/jcr:3b592a98-07ca-48a6-8b95-e59eae543341/icon-gplus.svg?cdnVersion=1267" loading="lazy" alt="Google Plus"></a> </div><div class="g-column g-4-12 t-12-12 m-12-12 t-gutterless"> <h6 > Interesse an künftigen Artikeln? </h6> <form class="newsletter"> <input class="is-empty _input" type="email" placeholder="Enter Your Email For Git News"> <button type="submit" class="_status icon-email-submit">Submit</button> </form> </div><div class="g-column g-4-12 t-12-12 m-12-12 t-gutterless"> <h6 > Website gehostet von </h6> <a href="/de/" class="cms-link cms-link--image" ><img src="https://wac-cdn.atlassian.com/dam/jcr:ffd56b30-ad4d-4cb5-94be-79c1dd68b1fb/Atlassian-horizontal-white-rgb.svg?cdnVersion=1267" loading="lazy" alt="Bitbucket " class="_bitbucket-logo"></a> </div></div> <div class="g-row"> <div class="g-column g-12-12 t-12-12 m-12-12"> <p class="license"><a class="icon-global-cclicense" href="http://creativecommons.org/licenses/by/2.5/au/" data-event="clicked" data-uuid="028d468a-75" data-event-component="linkButton" data-event-container="richText" data-schema-version="1" data-product-key="bitbucket" data-event="clicked" data-uuid="028d468a-75" data-event-component="linkButton" data-event-container="richText" data-schema-version="1" data-product-key="bitbucket" rel="nofollow">creativecommons.org</a>Wenn nicht anders angegeben, sind alle Inhalte unter einer <a href="http://creativecommons.org/licenses/by/2.5/au/" data-event="clicked" data-uuid="028d468a-75" data-event-component="linkButton" data-event-container="richText" data-schema-version="1" data-product-key="bitbucket" data-event="clicked" data-uuid="028d468a-75" data-event-component="linkButton" data-event-container="richText" data-schema-version="1" data-product-key="bitbucket" rel="nofollow">Creative Commons-Lizenz 2.5 Australien</a> lizenziert.</p> </div></div> </div> <script type="text/javascript"> var HTTP_PREFIX = ""; var FEATURE_FLAG_USE_GDPR = true; </script> <script type="text/javascript" src="https://wac-cdn.atlassian.com/assets/build/js/gitguide/git-app-lite.js?cdnVersion=1267"></script> <link rel="stylesheet" href="https://wac-cdn.atlassian.com/assets/build/css/gitguide/site.css?cdnVersion=1267" /> <script type="text/javascript"> (function(){ var imkt = window.imkt || (window.imkt = {}); imkt.isEditMode = false; imkt.isProduction = true; imkt.constants = imkt.constants || {}; imkt.constants.rootPath = "/"; imkt.constants.assetPath = "https://wac-cdn.atlassian.com" + "/assets/"; imkt.constants.libPath = imkt.constants.assetPath + "bower_components/"; imkt.constants.cdnVersionQuery = "?cdnVersion=1267"; imkt.constants.isDevUser = false; imkt.constants.isFreeEnabled = true; imkt.constants.getUserAccounts = false; imkt.constants.headerLoginMenu = true; imkt.constants.public = true; imkt.constants.mobileBreakpoint = 640; })(); </script> <script type="text/x-component"> { "type":"imkt.pages.WACPage", "params": { } } </script> <script> function initializeATLAnalytics() { var pageViewProperties = { contentSite: 'Git Microsite', contentType: 'Microsite', contentProduct: 'Bitbucket' }; /* get url path, convert to dash format and add it to page view properties. */ var originProduct = window.location.pathname; pageViewProperties.originProduct = "wac" + (originProduct === '/' ? "" : originProduct.replace(new RegExp('/', 'g'),"-")); if (typeof ace !== 'undefined') { ace.analytics.Initializer.initWithPageAnalytics('kiv6wyh2nw', pageViewProperties, null, null, window.atlGlobalLoadStart); } } </script> <script type = "text/javascript"> /** * function to load external js through javascript. * * @param url - javascript url * @param location - location of the dom (e.g. document.head) */ var loadExternalJS = function(url, location, callback){ var scriptTag = document.createElement('script'); scriptTag.src = url; scriptTag.type = 'text/javascript'; /* Then bind the event to the callback function. There are several events for cross browser compatibility. */ scriptTag.onreadystatechange = callback; scriptTag.onload = callback; window.atlGlobalLoadStart = new Date(); /* Fire the loading */ location.appendChild(scriptTag); }; </script> <script type="text/javascript" class="optanon-category-2"> loadExternalJS("https://atl-global.atlassian.com/js/atl-global.min.js", document.body, initializeATLAnalytics); </script> </body> <!-- LastRendered: 28.09.2020 19:30:55 --> </html>