Comandos de Git

git show

git show: muestra los detalles de un commit, una etiqueta u otro objeto concreto.

El comando git show muestra información detallada sobre un objeto concreto de Git, casi siempre un commit. Incluye sus metadatos (autor, fecha y mensaje) y el diff de los cambios que introdujo. Viene especialmente bien para examinar qué cambió exactamente sin comparar el commit a mano con su padre.

Por defecto, git show muestra el commit más reciente de la rama actual. También puedes indicar cualquier hash de commit, nombre de rama, etiqueta u otra referencia de Git. La salida incluye el mensaje, la información del autor, la marca de tiempo y un diff unificado con todos los cambios del commit.

Cuando la salida de git show es demasiado larga para caber en una sola pantalla, la terminal entra en modo pager. Puedes desplazarte por la salida con las teclas de flecha y (o con PageUp y PageDown para moverte más rápido). Para salir del modo pager, pulsa q.

Ejemplos

Mostrar los detalles del commit más reciente:

git show

Mostrar los detalles de un commit concreto por su hash:

git show 1a2b3c4d

Mostrar solo el mensaje del commit y los metadatos, sin el diff:

git show --no-patch

Mostrar los cambios de un archivo concreto en un commit:

git show 1a2b3c4d -- path/to/file.js

-- es un separador especial que le dice a Git que trate todo lo que venga después como una ruta de archivo, incluso si parece el nombre de una rama o etiqueta. Es completamente opcional, pero resulta útil cuando quieres evitar ambigüedad entre nombres de archivo y referencias de Git.

Mostrar solo los nombres de los archivos que cambiaron en un commit:

git show --name-only

Entender la salida

Cuando ejecutas git show sobre un commit, la salida suele tener este aspecto:

Resultado:
commit 1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p7q8r9s0t
Author: John Doe <john.doe@example.com>
Date: Mon Jan 15 14:30:25 2024 -0500
Fix navigation bug in mobile view.
Updated CSS media queries to properly handle small screens.
diff --git a/src/components/Navigation.js b/src/components/Navigation.js
index 1c2s3z5..4f5g6h7 100644
--- a/src/components/Navigation.js
+++ b/src/components/Navigation.js
@@ -45,2 +45,6 @@
- display: block;
+ display: none;
+}
+
+@media (max-width: 768px) {
+ .mobile-menu {
+ display: block;
+ }
+}

Esta salida muestra:

  • Hash de commit: el identificador único de este commit concreto.
  • Autor: quién creó el commit, incluida su dirección de correo.
  • Fecha: cuándo se creó el commit.
  • Mensaje del commit: la descripción de qué cambios se hicieron y por qué.
  • Diff: los cambios reales hechos en los archivos, con el mismo formato que git diff.

La parte del diff sigue las mismas convenciones que otras salidas de diff en Git: las líneas con prefijo - muestran lo que se eliminó, y las líneas con prefijo + muestran lo que se añadió.