Libro abierto con el icono de una rama de Git y el de una nube

Git show

¿En qué consiste git-show?

git-show es una herramienta de línea de comandos que se utiliza para ver detalles ampliados en objetos de Git, como blobs, árboles, etiquetas y commits. git-show presenta un comportamiento específico para cada tipo de objeto.

Las etiquetas muestran el mensaje de la etiqueta y otros objetos incluidos en ella; los árboles muestran los nombres y el contenido de los objetos incluidos en ellos; los blobs muestran el contenido directo de un blob; y los commits muestran un mensaje de registro del commit y el resultado de la diferencia de los cambios en este.

Se accede a todos los objetos de Git mediante referencias. De forma predeterminada, git-show actúa contra la referencia HEAD. La referencia HEAD siempre dirige al último commit de la rama actual. Por lo tanto, puedes usar git-show para mostrar los mensajes de registro y el resultado de la diferencia del último commit.

Opciones de git-show


Se puede utilizar una referencia a un objeto o a una lista de objetos para examinar estos objetos específicos. Si no se utiliza ningún objeto explícito, git-show selecciona de forma predeterminada la referencia HEAD.

--pretty[=]
La opción pretty adopta valores de formato secundarios que pueden ser: oneline, short, medium, full, fuller, email, raw, y format:. Si se omite, el formato predeterminado es medium. Cada opción de formato constituye una plantilla diferente para la forma en la que Git da formato al resultado. La opción oneline puede resultar muy útil para mostrar una lista de commits.

--abbrev-commit
Esta opción abrevia la longitud de los ID de commit resultantes. Estos ID tienen 40 caracteres de longitud y puede ser difícil visualizarlos en las pantallas de terminales estrechas. Esta opción combinada con --pretty=oneline puede producir un resultado muy conciso de git log.

--no-abbrev-commit
Muestra siempre los 40 caracteres del ID de commit. Ignorará --abbrev-commit y cualquier otra opción que abrevie los ID de commit, como el --oneline format.

--oneline
Este es un acceso rápido para hacer uso del comando expandido --pretty=oneline --abbrev-commit.

--encoding[=]
La codificación de caracteres predeterminada en los mensajes de registro de Git es UTF-8. Esta opción de codificación puede cambiarse por otra diferente, lo que puede resultar útil si trabajas con Git en un entorno con diferente codificación de caracteres, como en un terminal de lengua asiática.

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

Estas opciones sustituyen los caracteres de tabulación con espacios en los mensajes de registro de salida. El valor n se puede configurar para cambiar el número de caracteres de espacio que se expanden las tabulaciones. Sin un valor n explícito, las tabulaciones se expanden 8 espacios. --no-expand-tabs (para que las tabulaciones no se expandan) equivale a n=0.

--notes=
--no-notes

Git tiene un sistema de notas que permite vincular los metadatos arbitrarios de 'nota' a objetos. Estos datos se pueden ocultar o filtrar con git-show.

--show-signature
Esta opción confirmará que el commit se firma con una firma encriptada pasándolo a un subcomando gpg.

Formatos pretty para git-show

La opción --pretty mencionada anteriormente acepta diferentes opciones secundarias para manipular el formato de salida de git-show. A continuación, se enumeran estas opciones secundarias con ejemplos de plantillas.

  • oneline
    </code></li> </ul> <p>Oneline trata de compactar la mayor cantidad de información posible en una sola línea.</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 /> El formato <strong>raw</strong> ignora otras opciones de formato directo utilizadas en <code>git-show</code> y devuelve el commit tal y como se almacenó en el objeto. Raw obviará <code>--abrev</code> y <code>--no-abbrev</code> y siempre mostrará los commits principales.</code></li> </ul> <ul> <li><strong>format:</strong><br /> Format permite la especificación de un formato de salida personalizado. Funciona de forma similar al comando <code>printf</code> del lenguaje C. La opción<code>--pretty=format</code> adopta un valor secundario de una cadena de plantilla. La plantilla tiene acceso a variables de marcadores de posición que llena de datos un objeto de commit. A continuación, se enumeran estos marcadores de posición:<br /> <br /> • <em>%H</em>: hash del commit<br /> • <em>%h</em>: hash del commit abreviado<br /> • <em>%T</em>: árbol de hash<br /> • <em>%t</em>: árbol de hash abreviado<br /> • <em>%P</em>: hashes principales<br /> •<em> %p</em>: hashes principales abreviados<br /> •<em> %an</em>: nombre del autor<br /> • <em>%aN</em>: nombre del autor <br /> • <em>%ae</em>: correo electrónico del autor<br /> • <em>%aE</em>: correo electrónico del autor<br /> <br /> •<em> %ad</em>: fecha de creación (el formato respeta la opción --date=)<br /> •<em> %aD</em>: fecha de creación, estilo RFC2822<br /> • <em>%ar</em>: fecha de creación, relativa<br /> •<em> %at</em>: fecha de creación, marca de tiempo UNIX<br /> •<em> %ai</em>: fecha de creación, formato ISO 8601<br /> <em>• %cn</em>: nombre del confirmador<br /> • <em>%cN</em>: nombre del confirmador <br /> • <em>%ce</em>: correo electrónico del confirmador<br /> • <em>%cE</em>: correo electrónico del confirmador <br /> •<em> %cd</em>: fecha de confirmación<br /> • <em>%cD</em>: fecha de confirmación, estilo RFC2822<br /> •<em> %cr</em>: fecha de confirmación, relativa<br /> • <em>%ct</em>: fecha de confirmación, marca de tiempo UNIX<br /> •<em> %ci</em>: fecha de confirmación, formato ISO 8601<br /> •<em> %d</em>: nombres de referencia, como la opción --decorate de git-log(1)<br /> •<em> %e</em>: codificación<br /> •<em> %s</em>: asunto<br /> •<em> %f</em>: línea de asunto depurada, adecuada para el nombre de archivo<br /> <em>• %b</em>: cuerpo<br /> •<em> %N</em>: notas de commit<br /> •<em> %gD</em>: selector de reflog, por ejemplo, refs/stash@{1}<br /> •<em> %gd</em>: selector de reflog abreviado, por ejemplo, stash@{1}<br /> • <em>%gs</em>: asunto de reflog<br /> • <em>%Cred</em>: cambiar color a rojo<br /> •<em> %Cgreen</em>: cambiar color a verde<br /> • <em>%Cblue</em>: cambiar color a azul<br /> • <em>%Creset</em>: restablecer color<br /> • <em>%C(...)</em>: especificación del color, como se describe en la opción de configuración color.branch.*<br /> •<em> %m</em>: marca a la izquierda, derecha o en el límite<br /> • <em>%n</em>: nueva línea<br /> • <em>%%</em>: un % sin formato<br /> • <em>%x00</em>: imprimir un byte desde un código hex<br /> • <em>%w([<w>[,<i1>[,<i2>]]])</em>: cambiar el ajuste de línea, como la opción -w de git-shortlog</li> </ul> <h3 > Ejemplos 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>Esta opción enumerará los archivos que se han tocado en 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>Esto mostrará una versión determinada de un archivo. Sustituye <code>REVISION</code> por un sha de 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>Esta mostrará la etiqueta v2.0.0 y el commit en <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>Esta generará todos los commits de la serie, desde <code>commitA</code> hasta <code>commit D</code>.</p> <h3 > Resumen </h3> <p><code>git-show</code> es un comando muy versátil para examinar objetos de un repositorio de Git. Se puede utilizar para dirigirse a archivos específicos en revisiones específicas. Si examinas una serie de commits con <code>git-show</code>, se extraerán todos los commits individuales de esa serie. <code>git-show</code> puede convertirse en una herramienta muy útil para crear notas de patch y supervisar los cambios en un repositorio.</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 > Con tecnología de </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=1316" 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 > Recomendaciones </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=1316" 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=1316" 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=1316" loading="lazy" alt="Google Plus"></a> </div><div class="g-column g-4-12 t-12-12 m-12-12 t-gutterless"> <h6 > ¿Quieres enterarte de los próximos artículos? </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 > Sitio alojado por </h6> <a href="/es/" 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=1316" 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>Salvo que se indique lo contrario, todo el contenido disponible se rige por la <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">licencia de atribución 2.5 Australia de Creative Commons</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=1316"></script> <link rel="stylesheet" href="https://wac-cdn.atlassian.com/assets/build/css/gitguide/site.css?cdnVersion=1316" /> <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=1316"; 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: 27-oct-2020 21:22:03 --> </html>