Livro aberto com ramificação e nuvem Git

Git Show

O que é git-show?

git-show é um utilitário de linha de comando usado para exibir detalhes expandidos de objetos Git, como blobs, trees, tags e commits. O git-show tem um comportamento específico para cada tipo de objeto.

Tags mostram a mensagem da tag e outros objetos incluídos nela. Trees mostram os nomes e o conteúdo de objetos em uma árvore. Blobs mostram o conteúdo direto do blob. Commits mostram uma mensagem de log de commit e uma saída de comparação das alterações no commit.

Objetos Git são todos acessados por referências. Por padrão, o git-show atua contra a referência HEAD. Essa referência sempre aponta para o último commit da ramificação atual. Portanto, você pode usar o git-show para exibir a mensagem do log e a saída de comparação do commit mais recente.

Opções do Git-show


Uma referência a um objeto ou lista de objetos pode ser passada para examinar esses objetos específicos. Se nenhum objeto específico for passado, o git-show toma a referência HEAD como padrão.

--pretty[=]
A opção pretty assume um desses valores de formato secundário: oneline, short, medium, full, fuller, email, raw e format:. Se omitido, o formato toma medium como padrão. Cada opção de formato é um template diferente de como o Git formata a exibição de saída. A opção oneline pode ser muito útil para exibir uma lista de commits

--abbrev-commit
Essa opção encurta o comprimento dos IDs dos commits de saída. Os IDs de commit têm 40 caracteres e pode ser difícil visualizá-los em telas de terminais pequenos. Combinada com --pretty=oneline, essa opção pode gerar uma saída de git log bastante sucinta.

--no-abbrev-commit
Sempre mostra o ID de commit de 40 caracteres inteiro. Ela vai ignorar o --abbrev-commit e quaisquer outras opções que abreviem IDs de commit, como a --oneline format

--oneline
É um atalho para usar o comando expandido --pretty=oneline --abbrev-commit

--encoding[=]
A codificação de caracteres nas mensagens do Git log toma UTF-8 como padrão. A opção de codificação pode mudar para uma saída de codificação de caracteres diferente. Ela é útil se você estiver trabalhando com Git em um ambiente com codificação de caracteres diferente, como um terminal em um idioma asiático.

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

Essas opções substituem caracteres de tabulação por espaços na saída de mensagens de log. O valor n define a quantidade de caracteres de espaço que as tabulações expandem. Sem um valor n explicitado, as tabulações vão expandir até oito espaços. --no-expand-tabs equivale a n=0

--notes=
--no-notes

O Git tem um sistema de notificação que permite que metadados de "notificação" arbitrários sejam anexados a objetos. Esses dados podem ser ocultados ou filtrados com o git-show.

--show-signature
Essa opção vai validar que o commit tenha uma assinatura criptografada ao passá-lo para um subcomando gpg.

Formatos pretty para git-show

A opção --pretty discutida acima aceita diversas opções secundárias para adequar o formato da saída do git-show. Essas opções secundárias estão listadas abaixo com um template de exemplo

  • oneline
    </code></li> </ul> <p>Oneline tenta compactar o máximo possível de informações em uma única linha</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 /> O formato <strong>raw</strong> ignora outras opções de formatação direta passadas para o <code>git-show</code> e emite o commit conforme armazenado no objeto. O raw vai desconsiderar <code>--abrev</code> e <code>--no-abbrev</code> e vai sempre mostrar os commits pai.</code></li> </ul> <ul> <li><strong>format:</strong><br /> Format permite a especificação de um formato de saída personalizado. O funcionamento é parecido com o do comando <code>printf</code> da linguagem C. A opção <code>--pretty=format</code> assume um valor secundário da string do template. O template tem acesso a variáveis de espaço reservado que vão ser preenchidas com dados do objeto do commit. Esses espaços reservados estão listados abaixo:<br /> <br /> • <em>%H</em>: código do commit<br /> • <em>%h</em>: código abreviado do commit<br /> • <em>%T</em>: código da tree<br /> • <em>%t</em>: código abreviado da tree<br /> • <em>%P</em>: códigos pai<br /> • <em>%p</em>: códigos pai abreviados<br /> • <em>%an</em>: nome do autor<br /> • <em>%aN</em>: nome do autor <br /> • <em>%ae</em>: e-mail do autor<br /> • <em>%aE</em>: e-mail do autor <br /> • <em>%ad</em>: data do autor (o formato respeita a opção --date=)<br /> • <em>%aD</em>: data do autor, estilo RFC2822<br /> • <em>%ar</em>: data do autor, relativa<br /> • <em>%at</em>: data do autor, carimbo de data/hora UNIX<br /> • <em>%ai</em>: data do autor, formato ISO 8601<br /> • <em>%cn</em>: nome do committer<br /> • <em>%cN</em>: nome do committer <br /> • <em>%ce</em>: e-mail do committer<br /> • <em>%cE</em>: e-mail do committer <br /> •<em> %cd</em>: data do committer<br /> • <em>%cD</em>: data do committer, estilo RFC2822<br /> •<em> %cr</em>: data do committer, relativa<br /> • <em>%ct</em>: data do committer, carimbo de data/hora UNIX<br /> • <em>%ci</em>: data do committer, formato ISO 8601<br /> • <em>%d</em>: nomes de referência, como a opção --decorate do git-log(1)<br /> • <em>%e</em>: codificação<br /> • <em>%s</em>: assunto<br /> • <em>%f</em>: linha do assunto corrigida, apropriada para um nome de arquivo<br /> • <em>%b</em>: corpo<br /> • <em>%N</em>: notificações de commit<br /> • <em>%gD</em>: seletor de reflog, ex. refs/stash@{1}<br /> • <em>%gd</em>: seletor de reflog encurtado, ex. stash@{1}<br /> • <em>%gs</em>: assunto do reflog<br /> • <em>%Cred</em>: trocar cor para vermelho<br /> • <em>%Cgreen</em>: trocar cor para verde<br /> • <em>%Cblue</em>: trocar cor para azul<br /> • <em>%Creset</em>: redefinir cor<br /> • <em>%C(...)</em>: especificação da cor, como descrito na opção de configuração color.branch.*<br /> • <em>%m</em>: marca de limite, esquerda ou direita<br /> • <em>%n</em>: nova linha<br /> • <em>%%</em>: uma % bruta<br /> • <em>%x00</em>: imprimir um byte de um código hexadecimal<br /> • <em>%w([<w>[,<i1>[,<i2>]]])</em>: ativar quebra de linha automática, como a opção -w do git-shortlog</li> </ul> <h3 > Exemplos do 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>Isso vai listar todos os arquivos tocados em um 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>Isso vai mostrar uma versão específica de um arquivo. Substitua o <code>REVISON</code> com um 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>Isso vai exibir a tag v2.0.0 e o commit em <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>Isso vai emitir todos os commits no intervalo do <code>commit A</code> ao <code>commit D</code></p> <h3 > Resumo </h3> <p>O <code>git-show</code> é um comando muito versátil para examinar objetos em um repositório Git. Ele pode ser usado para direcionar arquivos específicos para revisões específicas. Examinar um intervalo de commits com o <code>git-show</code> vai emitir todos os commits individuais nesse intervalo. O <code>git-show</code> pode ser uma ferramenta útil para criar observações de patch e rastrear alterações em um repositório.</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 > Com tecnologia </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 > Faça propaganda no </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 > Quer mais artigos? </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 > Um site da </h6> <a href="/br/" 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>Exceto quando indicado, todo o conteúdo está licenciado sob uma <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">licença Creative Commons Atribuição 2.5 da Austrália</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=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: Sep 28, 2020 10:21:46 PM --> </html>