Comandos de Git

git show

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

El comando git show se usa para mostrar información detallada sobre un objeto concreto de Git, casi siempre un commit. Muestra los metadatos del commit (autor, fecha y mensaje) junto con el diff de los cambios introducidos por ese commit. Este comando resulta especialmente útil cuando quieres examinar exactamente qué cambió en un commit concreto sin tener que compararlo a mano con su padre.

Por defecto, git show muestra el commit más reciente de la rama actual. Puedes indicar cualquier hash de commit, nombre de rama, etiqueta u otra referencia de Git para mostrar los detalles de ese objeto concreto. La salida incluye el mensaje del commit, la información del autor, la marca de tiempo y un diff unificado con todos los cambios hechos en ese 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ó.