Git show
¿En qué consiste git-show?
git-show
es una herramienta de línea de comandos que se utiliza para ver detalles ampliados de objetos de Git, como blobs, árboles, etiquetas y confirmaciones, y que 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 las confirmaciones muestran un mensaje de registro de la confirmación y el resultado de la diferencia de los cambios en esta.
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 de la última confirmación.
Opciones de git-show
<object>…
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[=<format>]
La opción pretty adopta valores de formato secundarios que pueden ser: oneline, short, medium, full, fuller, email, raw
y format: < string >
. 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 <code>oneline</code> puede resultar muy útil para mostrar una lista de confirmaciones.
--abbrev-commit
Esta opción abrevia la longitud de los ID de confirmación 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 confirmación. Ignorará --abbrev-commit
y cualquier otra opción que abrevie los ID de confirmación, como --oneline format
.
Material relacionado
Cómo mover un repositorio de Git completo
VER LA SOLUCIÓN
Aprende a usar Git con Bitbucket Cloud
--oneline
Este es un acceso rápido para hacer uso del comando expandido --pretty=oneline --abbrev-commit
.
--encoding[=<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 una codificación de caracteres diferente, como un terminal de lengua asiática.
>--expand-tabs=<n>
--expand-tabs
--no-expand-tabs
Estas opciones sustituyen los caracteres de tabulación con espacios en la salida de los mensajes de registro. 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
equivale a n=0
.
--notes=<ref>
--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 validará que la confirmación se firme con una firma encriptada pasándola 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
<sha1> <title line>
Oneline trata de compactar la mayor cantidad de información posible en una sola línea.
- 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
El formato raw ignora otras opciones de formato directo utilizadas engit-show
y devuelve la confirmación tal y como se almacenó en el objeto. Raw obviará--abrev
y--no-abbrev
, y siempre mostrará las confirmaciones principales.
- format:
Permite la especificación de un formato de salida personalizado. Funciona de forma similar al comandoprintf
del lenguaje C. La opción--pretty=format
adopta un valor secundario de una cadena de plantilla. La plantilla tiene acceso a variables de marcadores de posición que se llenarán de datos con un objeto de confirmación. Los marcadores de posición son estos:
⏎
• %H: hash de la confirmación
• %h: hash de la confirmación abreviado
• %T: hash del árbol
• %t: hash del árbol abreviado
• %P: hashes principales
• %p: hashes principales abreviados
• %an: nombre del autor
• %aN: nombre del autor
• %ae: correo electrónico del autor
• %aE: correo electrónico del autor
• %ad: fecha de creación (el formato respeta la opción --date=)
• %aD: fecha de creación, estilo RFC2822
• %ar: fecha de creación, relativa
• %at: fecha de creación, marca de tiempo UNIX
• %ai: fecha de creación, formato ISO 8601
• %cn: nombre del confirmador
• %cN: nombre del confirmador
• %ce: correo electrónico del confirmador
• %cE: correo electrónico del confirmador
• %cd: fecha de confirmación
• %cD: fecha de confirmación, estilo RFC2822
• %cr: fecha de confirmación, relativa
• %ct: fecha de confirmación, marca de tiempo UNIX
• %ci: fecha de confirmación, formato ISO 8601
• %d: nombres de referencia, como la opción --decorate de git-log(1)
• %e: codificación
• %s: asunto
• %f: línea de asunto depurada, adecuada para el nombre de archivo
• %b: cuerpo
• %N: notas de confirmación
• %gD: selector de reflog, por ejemplo, refs/stash@{1}
• %gd: selector de reflog abreviado, por ejemplo, stash@{1}
• %gs: asunto de reflog
• %Cred: cambiar color a rojo
• %Cgreen: cambiar color a verde
• %Cblue: cambiar color a azul
• %Creset: restablecer color
• %C(...): especificación del color, como se describe en la opción de configuración color.branch.*
• %m: marca a la izquierda, derecha o en el límite
• %n: nueva línea
• %%: un % sin formato
• %x00: imprimir un byte desde un código hex
• %w([[, : cambiar el ajuste de línea, como la opción -w de git-shortlog[, ]]])
Ejemplos de git-show
git show --pretty="" --name-only bd61ad98
Esta opción enumerará los archivos que se han tocado en una confirmación.
git show REVISION:path/to/file
Esto mostrará una versión determinada de un archivo. Sustituye REVISION
por un sha de Git.
git show v2.0.0 6ef002d74cbbc099e1063728cab14ef1fc49c783
Esta mostrará la etiqueta v2.0.0 y la confirmación en 6ef002d74cbbc099e1063728cab14ef1fc49c783
git show commitA...commitD
Esta generará todas las confirmaciones de la serie, desde commitA
hasta commit D
.
Resumen
git-show
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 git-show
, se extraerán todas las confirmaciones individuales de esa serie. git-show
puede ser en una herramienta muy útil para crear notas de patch y supervisar los cambios en un repositorio.
Compartir este artículo
Tema siguiente
Lecturas recomendadas
Consulta estos recursos para conocer los tipos de equipos de DevOps o para estar al tanto de las novedades sobre DevOps en Atlassian.