GIT: Historial

  • Si desea ver los commit’s creados en si proyecto debe hacerlo con el comando
git log
  • RESULTADO:
commit 94e7ed37bc842f7cab1e84fdd64b49e3e6341c8b (HEAD -> master)
Author: abelhongo1983 <gustavo.matamoros.gonzalez@una.ac.cr>
Date: Thu Mar 8 12:10:24 2018 -0600

 creacion 2 de tmp

commit 70f7a908d42062c3c7c49d15025f6a003ae378dc
Author: abelhongo1983 <gustavo.matamoros.gonzalez@una.ac.cr>
Date: Thu Mar 8 12:09:35 2018 -0600

 eliminado fisico de archivo tmp

commit afbe8a586df7ca9fcde4de2df942a501c31cab12
Author: abelhongo1983 <gustavo.matamoros.gonzalez@una.ac.cr>
Date: Thu Mar 8 12:05:44 2018 -0600

 Creación de archivo tmp.html

commit 94bce8d67ab869d0c3ba2f6e6122e240dc7ce236
Author: abelhongo1983 <gustavo.matamoros.gonzalez@una.ac.cr>
Date: Thu Mar 8 12:03:04 2018 -0600

 Creación de archivo .gitignore

commit 17b842c61adf81f309e2a9addea9f03555444751
Author: abelhongo1983 <gustavo.matamoros.gonzalez@una.ac.cr>
Date: Thu Mar 8 11:13:51 2018 -0600

 Incio del proyecto: V1.001 / estructura inicial
  • Este comando lista los commit creados en el proyecto con los siguientes aspectos:
    • Se muestran en orden inverso, es decir las más recientes se muestran al principio
    • Puede ver las sumas de comprobación Checksum SHA-1
    • El nombre y dirección del correo del usuario que creo el commit
    • Fecha de creación
    • Mensaje de commit
  • Además podemos agregarle diferentes parametros por ejemplo:
    • -p muestra las diferencias entre los commit’s
    • -n: por ejemplo -2 muestra los dos últimos commit
git log -p -2
  • También si quiere ver las estadísticas de los commit’s por ejemplo archivos modificados, cantidad de líneas agregadas o eliminas, etc puede utilizar
git log --stat
  • RESULTADO:
commit 94e7ed37bc842f7cab1e84fdd64b49e3e6341c8b (HEAD -> master)
Author: abelhongo1983 <gustavo.matamoros.gonzalez@una.ac.cr>
Date: Thu Mar 8 12:10:24 2018 -0600

 creacion 2 de tmp

 tmp.html | 11 +++++++++++
 1 file changed, 11 insertions(+)

commit 70f7a908d42062c3c7c49d15025f6a003ae378dc
Author: abelhongo1983 <gustavo.matamoros.gonzalez@una.ac.cr>
Date: Thu Mar 8 12:09:35 2018 -0600

 eliminado fisico de archivo tmp

 tmp.html | 11 -----------
 1 file changed, 11 deletions(-)
  • También podemos presentarlos de una forma resumida con
git log --pretty=oneline
  • RESULTADO
94e7ed37bc842f7cab1e84fdd64b49e3e6341c8b (HEAD -> master) creacion 2 de tmp
70f7a908d42062c3c7c49d15025f6a003ae378dc eliminado fisico de archivo tmp
afbe8a586df7ca9fcde4de2df942a501c31cab12 Creación de archivo tmp.html
94bce8d67ab869d0c3ba2f6e6122e240dc7ce236 Creación de archivo .gitignore
17b842c61adf81f309e2a9addea9f03555444751 Incio del proyecto: V1.001 / estructura inicial
  • Y por último puede usar «format» para establecer un formato especifico si por ejemplo utiliza un programa externo para analizar los datos
git log --pretty=format:"%h - %an, %ar : %s"
  • RESULTADO:
94e7ed3 - abelhongo1983, 2 hours ago : creacion 2 de tmp
70f7a90 - abelhongo1983, 2 hours ago : eliminado fisico de archivo tmp
afbe8a5 - abelhongo1983, 2 hours ago : Creación de archivo tmp.html
94bce8d - abelhongo1983, 2 hours ago : Creación de archivo .gitignore
17b842c - abelhongo1983, 3 hours ago : Incio del proyecto: V1.001 / estructura inicial
  • Table 1. Opciones útiles de git log
OpciónDescripción de la salida
%HHash de la confirmación
%hHash de la confirmación abreviado
%THash del árbol
%tHash del árbol abreviado
%PHashes de las confirmaciones padre
%pHashes de las confirmaciones padre abreviados
%anNombre del autor
%aeDirección de correo del autor
%adFecha de autoría (el formato respeta la opción -–date)
%arFecha de autoría, relativa
%cnNombre del confirmador
%ceDirección de correo del confirmador
%cdFecha de confirmación
%crFecha de confirmación, relativa
%sAsunto
  • También puede utilizar el parámetro «–graph» para crear un gráfico ASCII que mostrará el historial de ramificaciones y uniones
git log --pretty=format:"%h %s" --graph
  • Otras opciones:
OpciónDescripción
-pMuestra el parche introducido en cada confirmación.
--statMuestra estadísticas sobre los archivos modificados en cada confirmación.
--shortstatMuestra solamente la línea de resumen de la opción --stat.
--name-onlyMuestra la lista de archivos afectados.
--name-statusMuestra la lista de archivos afectados, indicando además si fueron añadidos, modificados o eliminados.
--abbrev-commitMuestra solamente los primeros caracteres de la suma SHA-1, en vez de los 40 caracteres de que se compone.
--relative-dateMuestra la fecha en formato relativo (por ejemplo, “2 weeks ago” (“hace 2 semanas”)) en lugar del formato completo.
--graphMuestra un gráfico ASCII con la historia de ramificaciones y uniones.
--prettyMuestra las confirmaciones usando un formato alternativo. Posibles opciones son oneline, short, full, fuller y format (mediante el cual puedes especificar tu propio formato).

 Limitar la Salida del Historial

  • Si desea limitar el log de git puede usar – donde «n» es el numero de commits que desea mostrar como vimos anteriormente
git log -2
  • Podemos usar «–since» por ejemplo para ver los commits de las últimas 2 semanas
git log --since=2.weeks
  • Podemos pedir los commits de un usuario
git log --author="abelhongo1983"
  • Y podemos combinarlos utilizando «–all-match»
git log -2 --author="abelhongo1983" --all-match
  • Otra opción útil es el parámetro «-S» que permite poner un segmento de código o el nombre de una función para saber cuales fueron las modificaciones
git log -S "<title>"
o
git log -S "nombreFuncion"
  • Otras opciones: Tabla 3. Opciones para limitar la salida de git log
OpciónDescripción
-(n)Muestra solamente las últimas n confirmaciones
--since, --afterMuestra aquellas confirmaciones hechas después de la fecha especificada.
--until, --beforeMuestra aquellas confirmaciones hechas antes de la fecha especificada.
--authorMuestra solo aquellas confirmaciones cuyo autor coincide con la cadena especificada.
--committerMuestra solo aquellas confirmaciones cuyo confirmador coincide con la cadena especificada.
-SMuestra solo aquellas confirmaciones que añadan o eliminen código que corresponda con la cadena especificada.