Cómo inspeccionar el historial de un proyecto con Git Log

Cómo inspeccionar el historial de un proyecto con Git Log

Uno de los servicios más fundamentales proporcionados por Git es el historial del proyecto. Dado que Git realiza un seguimiento de todos los cambios en los archivos realizados dentro de un repositorio, puede ofrecer funciones de registro muy potentes. Puede consultar el historial de un proyecto de muchas formas diferentes y puede extraer y mostrar varios datos con un comando flexible.





los registro de git El comando es enorme, el más grande de cualquier comando de Git normal. Su manual tiene más de 2500 líneas. Afortunadamente, registro de git proporciona gran parte de su comportamiento más útil a partir de unas pocas opciones clave.





Registro básico con el comportamiento predeterminado

Por defecto, registro de git muestra una lista cronológica inversa de confirmaciones. Cada confirmación incluye su hash, autor, fecha y mensaje de confirmación:





El comando usa un buscapersonas (por ejemplo, menos, más) para mostrar el resultado completo para que pueda navegar fácilmente por los resultados. Puede configurar Git para usar un programa de su elección, como el más buscapersonas.

Aquí hay algunos resultados de git log de el repositorio del código fuente de git sí mismo:



|_+_|

El resultado comienza con el hash de confirmación ( 670 ...) seguido de una lista de ramas que actualmente apuntan a esa confirmación ( CABEZA -> maestro , etc.)

cómo proteger con contraseña la unidad flash

La siguiente línea describe al autor de esta confirmación, dando su nombre y dirección de correo electrónico.





La fecha y hora completas de la confirmación siguen en la siguiente línea.

Finalmente, aparece el contenido completo del mensaje de confirmación. Puede controlar la mayor parte de todo lo demás que ofrece git log con opciones de línea de comandos. Hay dos tipos principales de opciones:





  • Formateo, que define cómo Git muestra cada confirmación.
  • Filtrado, que define qué confirma registro de git incluye.

Además de las opciones de la línea de comandos, git log acepta argumentos que especifican archivos, confirmaciones, ramas u otros tipos de referencia. Estos aplican un filtrado adicional.

Formateo de la salida del registro de Git

Uno de los ajustes más simples es el --una línea opción que produce una salida muy breve:

|_+_|

Cada línea del registro ahora contiene solo un hash de confirmación abreviado y el asunto del mensaje de confirmación. Esta es una excelente manera de obtener una descripción general de los compromisos recientes con el proyecto:

Desafortunadamente, sin otro contexto, esta información no siempre es tan útil. Puede que le dé una idea vaga del proyecto, pero carece de fechas y otra información útil sobre autores y archivos.

Visualización de un gráfico de rama

los --grafico La opción le permite visualizar las relaciones entre las ramas. Es muy básico, pero puede ayudar a desenredar una historia complicada.

|_+_|

Relacionado: Cómo crear una nueva rama en Git

Salida bonita personalizada

Puede lograr un formato más complicado si lo especifica en detalle con el --lindo opción. La sintaxis va de muy simple a mucho más compleja, por lo que consulte un manual para obtener detalles completos .

cómo quitar una marca de agua de una foto
|_+_|

Es esencialmente lo mismo que registro de git sin la fecha o el mensaje completo:

|_+_|

Es equivalente a git log: en línea .

|_+_|

Incluye muchos detalles. Incluso separa al autor y al autor que, en teoría, pueden ser personas diferentes:

Con el formato: variante, puede proporcionar una cadena que contenga el contenido que desee, incluidos los marcadores de posición que se reemplazan por varios datos. A continuación, se muestran algunos ejemplos de marcadores de posición:

  • % H cometer hash
  • % h hash de confirmación abreviado
  • %para fecha del autor
  • %Con fecha del autor, relativo
  • %s confirmar el asunto del mensaje
  • %b confirmar el cuerpo del mensaje
  • %pag hashes de padres abreviados

Puede agregar caracteres fijos a la salida y colorearla. Este ejemplo también muestra una variación en el formato de fecha:

|_+_|

Tenga en cuenta que los corchetes rodean la fecha. Independientemente del formato que elija, si desea que la salida sea útil en una canalización o para otras formas de procesamiento de texto, debe considerar cómo demarcar cada parte de la salida.

Mostrar diferencias en el registro

Un detalle importante al mirar el historial de un repositorio son las diferencias en sí mismas. ¡Representan lo que realmente ha cambiado en el código, después de todo! Para empezar, puede obtener un resumen de los cambios junto con cada confirmación utilizando --shortstat :

|_+_|

Esto agrega una línea como:

|_+_|

Al final de cada confirmación. A menudo verá este tipo de resumen, en todas las páginas de GitHub, por ejemplo, y es una forma útil de juzgar rápidamente el alcance de una confirmación específica. Para obtener información más detallada, puede incluir la salida de parche completa (diffs) utilizando el -pag bandera:

|_+_|

Filtrar la salida del registro de Git

Independientemente del formato que aplique, seguirá viendo el registro completo de todas las confirmaciones en la rama actual. A pesar de que Git los divide en páginas, todavía puede ser una gran cantidad de resultados. Las siguientes opciones le permiten personalizar qué confirmaciones incluye el registro.

Restringir por cantidad

Si solo desea recortar los resultados para mostrar las pocas confirmaciones más recientes, use el -[número] sintaxis:

|_+_|

Restringir por fecha

Para restringir el conjunto de confirmaciones a un rango de fechas dado, use el --ya que ( --después ) y --Hasta que ( --antes de ) opciones. Cada uno de ellos tiene una fecha en formato ISO 8601. Puedes usar cualquiera --ya que o --Hasta que por sí mismos, o ambos juntos para especificar un rango. Las opciones --después y --antes de son sinónimos.

|_+_|

Restricción por archivo

El registro de Git puede centrarse en un archivo específico en lugar de en todos los archivos de su repositorio. Esto es excelente para ayudarlo a descubrir cómo ha cambiado un archivo en particular con el tiempo. Simplemente agregue el nombre del archivo al final de su comando git:

|_+_|

Verá solo las confirmaciones que afectaron nombre del archivo .

Diferencias entre ramas

Es posible que tenga algunos requisitos únicos al ver el registro de una rama. Por ejemplo, en lugar de ver el historial completo, es posible que solo desee ver qué ha cambiado en esa rama específica. Git log puede ayudar a través del ref1..ref2 sintaxis. Hay tres enfoques ligeramente diferentes que puede utilizar:

  1. Ver confirmaciones que están en la rama principal, pero no en la rama: commit 670b81a890388c60b7032a4f5b879f2ece8c4558 (HEAD -> master, origin/next,
    origin/master, origin/HEAD)
    Author: Junio C Hamano
    Date: Mon Jun 14 13:23:28 2021 +0900
    The second batch
    Signed-off-by: Junio C Hamano
  2. Ver confirmaciones que están en la rama, pero no en la principal: git log --oneline
  3. Ver confirmaciones que existen solo en la rama o principal: git log --oneline --graph

Diferencias entre dos etiquetas

Del mismo modo que puede ver el historial entre sucursales utilizando el ref1..ref2 sintaxis, también puede ver el historial entre etiquetas de la misma manera. Después de todo, tanto las etiquetas como las ramas son tipos de referencia.

|_+_|

Si está preparando notas de la versión para un proyecto más grande, git shortlog debería ser su primer puerto de escala. Produce una lista de autores con temas de compromiso junto a ellos. Puede pasarle un rango de referencia para limitar el historial de una manera similar a git log:

|_+_|

los comando git show es incluso más versátil que registro de git . Puede funcionar con etiquetas y otros tipos de objetos git más allá del historial de confirmaciones. Comparte muchas opciones con registro de git , pero solo lo necesitará realmente si necesita profundizar en detalles de nivel inferior.

Revise el pasado con Git Log

Git log es un comando complicado, pero puede aprovechar sus opciones más básicas. Examinar el historial de un repositorio es una excelente manera de comprender la frecuencia con la que ocurren los cambios y cuántas personas los realizan. Una vez que tenga una buena comprensión de la historia de un proyecto, estará en una excelente posición para contribuir usted mismo.

software para desbloquear teléfonos a cualquier red
Cuota Cuota Pío Correo electrónico Únase a la tendencia de codificación social y contribuya a los repositorios de GitHub

¿Quiere ejercitar sus músculos de codificación y ayudar en proyectos de código abierto? A continuación, le mostramos cómo contribuir a GitHub.

Leer siguiente
Temas relacionados
  • Programación
  • GitHub
  • Consejos de codificación
Sobre el Autor Bobby Jack(58 Artículos publicados)

Bobby es un entusiasta de la tecnología que trabajó como desarrollador de software durante la mayor parte de dos décadas. Es un apasionado de los juegos, trabaja como editor de reseñas en Switch Player Magazine y está inmerso en todos los aspectos de la publicación en línea y el desarrollo web.

Más de Bobby Jack

Suscríbete a nuestro boletín

¡Únase a nuestro boletín de noticias para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!

Haga clic aquí para suscribirse