git log

Definición
El comando git log muestra instantáneas confirmadas. Se utiliza para listar y filtrar el historial del proyecto, y buscar cambios específicos. A diferencia de git status, que controla el directorio de trabajo y el área de preparación, git log solo funciona sobre el historial confirmado.
Uso
El comando git log es una herramienta utilizada para examinar el historial de un repositorio y encontrar una versión específica de un proyecto. La salida del registro se puede personalizar de diversas formas, desde filtrar confirmaciones hasta mostrarlas en un formato completamente definido por el usuario. A continuación se presenta una lista de las configuraciones de git log más utilizadas:
| git log | Descripción |
|---|---|
| git log | Formato predeterminado, muestra todo el historial de confirmaciones. Usa la barra espaciadora para desplazarse y q para salir si la salida del registro ocupa varias pantallas. |
git log -n <limit> | Limita el número de confirmaciones. Por ejemplo, git log -n 2 muestra solo 2 confirmaciones. |
| git log --oneline | Coloca cada confirmación en una sola línea, lo cual es útil para tener una visión general del historial del proyecto. |
| git log --stat | Incluye los archivos modificados y el número de líneas agregadas o eliminadas de ellos, además de la información de git log. |
| git log -p | Muestra el parche para cada confirmación, así como su diff completo. |
git log --author="<pattern>" | Busca confirmaciones por un autor especificado. El argumento <pattern> puede ser una cadena o una expresión regular. |
git log --grep="<pattern>" | Busca confirmaciones por mensaje de confirmación. El argumento <pattern> puede ser una cadena o una expresión regular. |
git log <since>..<until> | Muestra solo las confirmaciones que ocurren entre los argumentos <since> y <until>. Ambos pueden ser un ID de confirmación, un nombre de rama, HEAD o cualquier otro tipo de referencia de revisión. |
git log <file> | Muestra las confirmaciones que incluyen el archivo especificado. Esto facilita ver el historial del archivo. |
| git log --graph --decorate --oneline | La bandera --graph dibuja un gráfico basado en texto de las confirmaciones en el lado izquierdo de los mensajes de confirmación. La bandera --decorate añade los nombres de las ramas o etiquetas de las confirmaciones mostradas. La bandera --oneline muestra la información de la confirmación en una sola línea, facilitando la navegación inmediata a través de las confirmaciones. |
git log --since=<date> | Muestra confirmaciones más recientes que una fecha específica. |
git log --until=<date> | Muestra confirmaciones más antiguas que una fecha específica. |
| git log --all | Muestra confirmaciones de todas las ramas del repositorio. |
Explicación
Todas las opciones mencionadas anteriormente se pueden combinar en el siguiente comando:
git log
git log --author="Bob Smith" -p w3docs.txtEl ejemplo anterior mostrará un diff completo de todos los cambios que el autor ha realizado en el archivo w3docs.txt.
La sintaxis .. se utiliza para comparar ramas:
git log
git log --oneline master..some-featureEste ejemplo muestra un resumen breve de todas las confirmaciones que están en some-feature en lugar de master.
Práctica
¿Cuáles son las funcionalidades y opciones del comando 'git log'?