Ver archivos modificados en cada commit

Cuando trabajamos con git para llevar el control de versiones en nuestro proyecto, en ocasiones  es necesario saber que archivos fueron modificados en algún commit  en específico, para solucionar esto tenemos diferentes soluciones, a continuación veamos una de ellas.

git log

El comando log de git lista  de manera cronológica los commits hechos en el repositorio, aplicando diferentes opciones podemos obtener diversos resultados, pero vamos paso a paso; El comando git log nos da algo similar a esto...


$  git log
commit ae492b53a1dc279690690404242ee3bf6041982b (HEAD -> feature-asignar-pago-desde-buscar-transaccion, origin/feature-asignar-pago-desde-buscar-transaccion, responsive-paneles-pagos)
Author: gomez-victor 
Date:   Tue Apr 16 10:56:19 2024 -0600

    se agrega caracteristica para poder asignar un pago desde la vista de busqueda de pagos

commit f57f9579410bb165c848dbcc553c576d0f45bea3 (origin/estatus-alumno, estatus-alumno)
Author: gomez-victor 
Date:   Thu Apr 11 12:42:03 2024 -0600

    se hacen los cambios más sencillos en vista buscar pago y borrar pago

commit 256ff54f6d16d62915a5b5609be50c0e8d978904
Author: gomez-victor 
Date:   Wed Apr 10 10:31:32 2024 -0600

    se agrega feature estatus alumnos

commit c014f19ede1690df1f77a174714e45ed59afa0ad (origin/feature-borrar-pago, feature-borrar-pago)
Author: gomez-victor 
Date:   Tue Apr 9 12:22:19 2024 -0600

    se termina módulo de borrar pago

commit 7279273fc97f24f34eb97ce95aa9ecac4f36d401 (origin/feature-buscar-pago, feature-buscar-pago)
Author: gomez-victor 
Date:   Fri Apr 5 13:01:36 2024 -0600

    se termina la caracteristica buscar pago



Como lo mencionamos anteriormente, vemos el listado de commits y su detalle. Algo importante a recalcar y que nos va servir es que para cada commit,   nos muestra el SHA propio de cada uno, que no es nada más ni nada menos que su ID  único.


commit ae492b53a1dc279690690404242ee3bf6041982b 

Siempre y cuando el SHA no cause conflicto es posible utilizar una versión corta; Utilizando los seis primeros caracteres la mayoría de las veces sera suficiente.

Así pues , una vez hecha esta pequeña introducción podemos proceder al punto central del post.

Ver archivos modificados en git con log

Como vimos anteriormente las opciones del comando git log son muchas, pero la que nosotros veremos para nuestro proposito, esta en la opción -p. La cual muestra los cambios hechos en cada commit.

Así entonces con lo visto de git log, el sha del commit y la opción  -p podemos obtener los cambios hechos a partir de un commit específico  con el siguiente comando...


  git log -p --name-only  bc95be99

Entonces hagamos un pequeño repaso...

Con el comando  git log  podemos listar todos los commits hecho en nuestro repo de manera cronológica del más reciente al más antiguo asi como un poco de sinformación sobre el commit...


commit 466552db077a73806b34df9a66007a1d9cc8db0d (HEAD -> menu-respomsive)
Author: Victor Manuel 
Date:   Thu Jun 20 08:42:12 2024 -0600

    ajustes menu responsive

commit bc95be99eef133b94bd9ac883e94befddc1dc89c (layout-proyectos)
Author: Victor Manuel 
Date:   Tue Jun 18 08:02:46 2024 -0600

    últimos cambios en vistas

commit 086466186d79132cd664253843f90dedd2ff3cb6
Author: gomez-victor 
Date:   Thu May 16 08:01:41 2024 -0600

    ajustes para compilar archivos sass

commit 9cb60f9768aa6431db8019e93f1702f68e109875 (master)
Author: gomez-victor 
Date:   Tue May 14 08:17:03 2024 -0600

    commit inical
(END)


Y lo mismo pero más barato :) para simplificar la salida...


git log --oneline

Con una salida como esta...


466552d (HEAD -> menu-respomsive) ajustes menu responsive
bc95be9 (layout-proyectos) últimos cambios en vistas
0864661 ajustes para compilar archivos sass
9cb60f9 (master) commit inical


Vemos que es el mismo resultado con menos información del commit, el sha corto, la rama y el mensaje del commit. A partir de aquí podemos ver los cambios hechos en cada commit por ejemplo veamos los cambios hechos a parti del primer commit que aparece en la lista anterior...


git log -p --name-only 466552d

Con una salida similar a esta..


commit 466552db077a73806b34df9a66007a1d9cc8db0d (HEAD -> menu-respomsive)
Author: Victor Manuel 
Date:   Thu Jun 20 08:42:12 2024 -0600

    ajustes menu responsive

public/css/blog-article.css
public/css/blog.css
public/css/main.css
public/css/portfolio.css
public/mix-manifest.json
resources/sass/layout/_nav-main.sass
resources/views/site/partials/_nav-main.blade.php
webpack.mix.js

commit bc95be99eef133b94bd9ac883e94befddc1dc89c (layout-proyectos)
Author: Victor Manuel 
Date:   Tue Jun 18 08:02:46 2024 -0600

    últimos cambios en vistas
: