Cuando trabajamos con git podemos revisar el historial de cambios de nuestro proyecto a través del comando log
, si ejecutamos este comando veremos una salida similar a esta:
1$ git log 2 3commit 683f2e0d811004b513c3070d3451e5b10f29f650 4Author: Alexys Lozada <alexyslc@gmail.com> 5Date: Tue Jul 25 10:42:16 2017 -0500 6 7 Renombra la tabla password_resets 8 9commit a5a6e106980926b58f8d617675ba221c2c24b7f9 10Author: Daniel Romero <danielromeroauk@gmail.com> 11Date: Sun Jul 23 09:11:59 2017 -0500 12 13 Permite ver capítulos sólo a los usuarios que tienen una suscripción activa 14 15commit bf344b37df9c89d5db27bff665481374ee4d0689 16Author: Jonathan MirCha <jonmircha@gmail.com> 17Date: Sat Jul 22 00:41:03 2017 -0500 18 19 Agrega estilos y assets a Suscripción 20
Por defecto el comando log
muestra todo el historial de cambios de nuestro repositorio en orden cronológico con la información básica del commit (id, autor, fecha y mensaje).
Sin embargo algunas veces necesitaremos filtrar el historial de cambios de acuerdo a nuestras necesidades, por lo que git nos provee algunas opciones útiles para realizar esta tarea. La opción -n
nos permite obtener los últimos n
commits, por ejemplo si queremos obtener los 2 últimos commits utilizaríamos:
1$ git log -2 2 3commit 683f2e0d811004b513c3070d3451e5b10f29f650 4Author: Alexys Lozada <alexyslc@gmail.com> 5Date: Tue Jul 25 10:42:16 2017 -0500 6 7 Renombra la tabla password_resets 8 9commit a5a6e106980926b58f8d617675ba221c2c24b7f9 10Author: Daniel Romero <danielromeroauk@gmail.com> 11Date: Sun Jul 23 09:11:59 2017 -0500 12 13 Permite ver capítulos sólo a los usuarios que tienen una suscripción activa 14
También podemos filtrar por autor
, es decir obtener todos los commits que hayan sido realizados por una persona especifica, por ejemplo:
1$ git log --author "Alexys" 2 3commit 683f2e0d811004b513c3070d3451e5b10f29f650 4Author: Alexys Lozada <alexyslc@gmail.com> 5Date: Tue Jul 25 10:42:16 2017 -0500 6 7 Renombra la tabla password_resets 8 9commit f1337f315aff524e41daf77ec0cc15bd0781d19e 10Merge: a956820 bdc56e3 11Author: Alexys Lozada <alexyslc@gmail.com> 12Date: Wed Jul 19 17:16:00 2017 +0000 13 14 Merge branch 'database/audit' into 'master' 15 16 Agrega la auditoría a las tablas principales 17 18 See merge request !1 19
Para filtrar nuestros historial por un rango de tiempo especifico las opciones --since
(desde) y --until
(hasta) nos permitirán realizar esta tarea.
Estas opciones pueden recibir una variedad de formatos como las siguientes:
- Una fecha concreta:
yyyy-mm-dd
oyyyy-mm-dd hh:mm:ss
- Una fecha relativa:
2 year 3 days 4 minutes ago
- Un periodo de tiempo:
minutes
,hours
,days
,yesterday
,weeks
,months``years
.
Veamos algunos ejemplos de uso:
Obtener los commits desde Julio 23 a Julio 25 de 2017.
1git log --since="2017-07-23 00:00:00" --until="2017-07-25 23:59:59" 2
Obtener los commits desde el día de ayer.
1git log --since="yesterday" 2
Obtener los commits de los últimos 5 meses.
1git log --since="5.months" 2
Si quieres aprender Git, puedes hacerlo en nuestro curso Git Desde Cero.