En un repositorio git, comprobemos las diferencias entre el último commit realizado y el anterior

¿Qué cambio ha sido el más reciente en nuestro repositorio git? ¿Cómo podemos comprobar los cambios más recientes en nuestro repositorio?
En realidad podemos comprobar las diferencias que existen entre dos commits cual quiera de nuestro repositorio git, pero me centraré en comprobar las diferencias que existen entre el commit más reciente y el anterior.
Para ello ejecutaremos este comando:
git diff HEAD^ HEAD
En este comando HEAD^
representa el penúltimo commit y HEAD
representa al último commit. De igual manera podemos utilizar este comando que es más corto de escribir:
git diff HEAD^
..
Si en vez los cambios realizados, queremos ver los archivos que se han visto modificados en el último commit, podemos ver el listado de esos archivos mediante:
git diff HEAD^.. --name-status
Las diferencias realizadas en los archivos marcarán el estado de cada archivo mostrando si han sido añadidos (A)
, copiados (C)
, eliminados (D)
, modificados (M)
, o renombrados (R)
.
Si esos cambios han implicado la modificación de muchos archivos, y queremos únicamente centrarnos en los cambios realizados en uno llamado, por ejemplo, archivo1.txt
Ejecutaremos lo siguiente:
git diff HEAD^.. -- ./archivo1.txt
Y si queremos ver un listado rápido de los archivos modificados junto con las modificaciones que se han realizado en ellos, ejecutaremos:
git diff HEAD^.. --stat
Pero también podemos utilizar una variante de estos comandos para comparar el último commit, con los cambios realizados en los últimos, por ejemplo, 5 commits anteriores. Para ello, envez de utilizar HEAD^
lo que haremos es HEAD~5
sui queremos como en el ejemplo compararlo con los 5 commits anteriores. Un ejemplo:
git diff HEAD~5
..
Y de manera similar con los demás comandos y opciones que hemos visto anteriormente.
Y hasta aquí esta pequeña guía, de algo que he necesitado hacer hoy y que he encontrado en las guías oficiales sobre Git y que me han servido para lo que quería. Espero que también a ti te pueda ser de utilidad (y a mi yo del futuro).
