git show

Inspección y comparación

Muestra un commit, un tag o un archivo en una versión dada


El comando 'git show' muestra un objeto. Para un commit imprime el autor, la fecha y el mensaje, seguidos del diff que introdujo. Para un tag anotado muestra el mensaje del tag y luego el commit. Con <commit>:<path> imprime un archivo exactamente como estaba en ese commit.

Sinopsis

git show [<options>] [<object>...]
[ ] opcional| o<arg> valor a sustituir... repetible--flag opción

Opciones

Haz clic en una opción para desplegarla

Principiante (2)

Muestra un resumen de los archivos cambiados en lugar del diff completo.

RecomendadoComprobación rápida del tamaño de un commit antes de leerlo

Ejemplo

git show --stat

Imprime la cabecera en una línea: hash corto y asunto.

Cuando haga faltaCabecera compacta cuando solo te interesa el diff

Ejemplo

git show --oneline

Elegir la opción adecuada

show, log y diff

Tres formas de mirar el historial

ComandoMuestra
git logUna lista de commits
git show <commit>Un commit y sus cambios
git diff A BLa diferencia entre dos versiones cualesquiera

Ejemplos

Último commit

git show

Muestra HEAD con su diff.


Cualquier commit

git show a1b2c3d

Muestra ese commit.


Un archivo en un commit antiguo

git show HEAD~2:app.js

Imprime app.js como estaba hace dos commits.


Solo el resumen

git show --stat

Archivos cambiados en lugar del diff completo.

Ejemplos de flujos de trabajo

1
git log --oneline

Encontrarlo

2
git show --stat a1b2c3d

Qué archivos tocó

3
git show a1b2c3d

El cambio completo

Solución de problemas

fatal: path 'x' does not exist in 'HEAD~1'

Causa: El archivo no existía en ese commit, o la ruta es incorrecta

Usa la ruta desde la raíz del repositorio; compruébalo con git show --stat

Un commit de fusión no muestra diff

Causa: Las fusiones solo muestran un diff combinado de las líneas en conflicto

Usa git show -m o git diff <merge>^1 <merge>

Consejos y trampas

Buenas prácticas

  • ✓En commits grandes, empieza con --stat.
  • ✓Usa commit:path para leer una versión antigua sin cambiar tus archivos.

Errores comunes

  • ✗Escribir git show HEAD~1 app.js (un filtro) cuando querías HEAD~1:app.js (el contenido del archivo).
  • ✗Usar una ruta relativa a tu carpeta sin ./ en commit:path — las rutas parten de la raíz del repositorio.

Preguntas frecuentes

A:

git show <commit>.

A:

Para leerla: git show <commit>:<path>. Para restaurarla: git restore --source=<commit> <path>.