Livre ouvert avec le cloud et la branche Git

Git Show

Qu'est-ce que git-show ?

git-show est un utilitaire de ligne de commande utilisé pour afficher des détails supplémentaires sur les objets Git, comme les blobs, les arborescences, les tags et les commits. git-show adopte un comportement spécifique en fonction du type d'objet.

Les tags montrent le message de tag et d'autres objets inclus dans le tag. Les arborescences spécifient les noms et le contenu des objets qu'elles contiennent. Les blobs affichent leur contenu direct. Les commits indiquent le message de journal de commit et une sortie diff des changements apportés dans le commit.

Les objets Git sont tous accessibles par des références. Par défaut, git-show va à l'encontre de la référence HEAD. Cette dernière pointe toujours vers le dernier commit de la branche actuelle. Vous pouvez donc utiliser git-show pour afficher le message de journal et la sortie diff du tout dernier commit.

Options git-show


Une référence à un objet ou une liste d'objets peut être transmise pour examiner ces objets spécifiques. Si aucun objet explicite n'est transmis, git-show est par défaut défini conformément à la référence HEAD.

--pretty[=]
L'option utile prend une valeur de format secondaire qui peut être l'une des suivantes : oneline, short, medium, full, fuller, email, raw, et format:. Si elle est omise, le format est défini par défaut sur medium. Chaque option de format est un modèle différent pour la manière dont Git formate la sortie. L'option oneline peut être très utile pour afficher une liste de commits.

--abbrev-commit
Cette option raccourcit la longueur des ID de commit sortants. Les ID de commit comportent 40 caractères et peuvent être difficiles à afficher sur des écrans de terminaux étroits. Cette option, combinée avec l'option --pretty=oneline peut générer une sortie git log hautement succincte.

--no-abbrev-commit
Affiche toujours l'ID de commit complet de 40 caractères. Cette opération ignorera --abbrev-commit et toute autre option abrégeant les ID de commit comme le format --oneline.

--oneline
Il s'agit d'un raccourci pour utiliser la commande étendue--pretty=oneline --abbrev-commit

--encoding[=]
L'encodage de caractères sur les messages de journaux Git est défini par défaut sur UTF-8. L'option d'encodage peut être modifiée en une sortie d'encodage de caractères différente. C'est pratique si vous travaillez avec Git dans un environnement utilisant différents encodages de caractères, comme un terminal en langue asiatique.

>--expand-tabs=
--expand-tabs
--no-expand-tabs

Ces options remplacent les caractères d'onglet par des espaces dans la sortie du message du journal. La valeur n peut être définie pour configurer le nombre de caractères d'espacement auquel les onglets peuvent s'étendre. Sans une valeur n explicite, les onglets s'étendront à 8 espaces. --no-expand-tabs est équivalent à n=0.

--notes=
--no-notes

Git dispose d'un système de notes qui permet d'attacher des métadonnées de « notes » arbitraires aux objets. Ces données peuvent être cachées ou filtrées lors de l'utilisation de git-show.

--show-signature
Cette option valide que le commit est signé avec une signature chiffrée en le transmettant à une sous-commande gpg.

Formats utiles pour git-show

L'option --pretty présentée ci-dessus accepte plusieurs options secondaires pour manipuler le format de la sortie git-show. Ces options secondaires sont répertoriées ci-dessous avec l'exemple de modèle :

  • oneline
    </code></li> </ul> <p>Oneline tente de comprimer autant d'informations que possible en une seule ligne.</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 /> Le format <strong>raw</strong> ignore les autres options de formatage direct transmises à <code>git-show</code> et génère le commit exactement comme il est enregistré dans l'objet. raw ignorera <code>--abrev</code> et <code>--no-abbrev</code>, et affichera toujours les commits parent.</code></li> </ul> <ul> <li><strong>format :</strong><br /> format permet de spécifier un format de sortie personnalisé. Il fonctionne de la même manière que la commande <code>printf</code> en langage C. L'option <code>--pretty=format</code> prend une valeur secondaire d'une chaîne de modèle. Le modèle a accès à des variables d'espace réservé, qui seront remplies avec les données de l'objet de commit. Ces variables de remplacement sont énumérées ci-dessous :<br /> <br /> • <em>%H</em> : empreinte du commit<br /> • <em>%h</em> : empreinte abrégée du commit<br /> • <em>%T</em> : empreinte de l'arborescence<br /> • <em>%t</em> : empreinte abrégée de l'arborescence<br /> • <em>%P</em> : empreintes des parents<br /> •<em> %p</em> : empreintes abrégées des parents<br /> •<em> %an</em> : nom de l'auteur<br /> • <em>%aN</em> : nom de l'auteur <br /> • <em>%ae</em> : e-mail de l'auteur<br /> • <em>%aE</em> : e-mail de l'auteur <br /> •<em> %ad</em> : date de l'auteur (format respecté : --date= option)<br /> •<em> %aD</em> : date de l'auteur, style RFC2822<br /> • <em>%ar</em>: date de l'auteur, relative<br /> •<em> %at</em> : date de l'auteur, horodatage UNIX<br /> •<em> %ai</em> : date de l'auteur, format ISO 8601<br /> <em>• %cn</em> : nom du commiteur<br /> • <em>%cN</em> : nom du commiteur <br /> • <em>%ce</em> : e-mail du commiteur<br /> • <em>%cE</em> : e-mail du commiteur <br /> •<em> %cd</em> : date du commiteur<br /> • <em>%cD</em> : date du commiteur, style RFC2822<br /> •<em> %cr</em> : date du commiteur, relative<br /> • <em>%ct</em> : date du commiteur, horodatage UNIX<br /> •<em> %ci</em> : date du commiteur, format ISO 8601<br /> •<em> %d</em> : noms de réf, comme l'option --decorate de git-log(1)<br /> •<em> %e</em> : encodage<br /> •<em> %s</em> : objet<br /> •<em> %f</em> : ligne d'objet nettoyée, adaptée pour un nom de fichier<br /> <em>• %b</em> : corps<br /> •<em> %N</em> : notes de commit<br /> •<em> %gD</em> : sélecteur reflog, p. ex., refs/stash@{1}<br /> •<em> %gd</em> : sélecteur reflog abrégé, p. ex., stash@{1}<br /> • <em>%gs</em> : objet du reflog<br /> • <em>%Cred</em> : remplace la couleur par rouge<br /> •<em> %Cgreen</em> : remplace la couleur par vert<br /> • <em>%Cblue</em> : remplace la couleur par bleu<br /> • <em>%Creset</em> : réinitialise la couleur<br /> • <em>%C(...)</em> : spécification de couleur, comme décrit dans l'option de configuration color.branch.*<br /> •<em> %m</em>: à gauche, à droite ou à la limite<br /> • <em>%n</em> : nouvelle ligne<br /> • <em>%%</em> : un pourcentage brut<br /> • <em>%x00</em> : imprime un octet d'un code hexadécimal<br /> • <em>%w([<w>[,<i1>[,<i2>]]])</em> : change l'encapsulation de la ligne, comme l'option -w de git-shortlog</li> </ul> <h3 > Exemples d'utilisation de 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>Cette commande permet de répertorier tous les fichiers touchés dans un commit</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>Cette commande affiche une version spécifique du fichier. Remplacez <code>REVISON</code> par une empreinte SHA Git.</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>Cela affiche le tag v2.0.0 et le commit à <code>6ef002d74cbbc099e1063728cab14ef1fc49c783</code></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>Cela génère tous les commits dans la plage comprise entre <code>commitA</code> et <code>commit D</code></p> <h3 > Résumé </h3> <p><code>git-show</code> est une commande très polyvalente pour examiner des objets dans un dépôt Git. Elle peut être utilisée pour cibler des fichiers donnés à des révisions spécifiques. Examiner une plage de commits à l'aide de la commande <code>git-show</code> génère tous les commits individuels de cette plage. <code>git-show</code> peut s'avérer utile pour créer des notes de patch et suivre les changements dans un dépôt.</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 > Optimisé par </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=1273" 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 > Recommander </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=1273" 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=1273" 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=1273" loading="lazy" alt="Google Plus"></a> </div><div class="g-column g-4-12 t-12-12 m-12-12 t-gutterless"> <h6 > Vous souhaitez recevoir les prochains articles ? </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 > Site hébergé par </h6> <a href="/fr/" 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=1273" 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>Sauf indication contraire, l'ensemble du contenu est couvert par une <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">licence australienne Creative Commons Attribution 2.5</a>.</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=1273"></script> <link rel="stylesheet" href="https://wac-cdn.atlassian.com/assets/build/css/gitguide/site.css?cdnVersion=1273" /> <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=1273"; 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: 1 oct. 2020 15:41:56 --> </html>