Ver commits en un rango de fechas específico

GitGitBeginner
Practicar Ahora

This tutorial is from open-source community. Access the source code

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

Git es un potente sistema de control de versiones que permite a los desarrolladores hacer un seguimiento de los cambios realizados en su base de código. Una de las características más útiles de Git es la capacidad de ver los commits (confirmaciones) en un rango de fechas específico. Esto puede ser útil cuando se intenta encontrar un error o entender la historia de un proyecto.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL git(("Git")) -.-> git/SetupandConfigGroup(["Setup and Config"]) git(("Git")) -.-> git/BranchManagementGroup(["Branch Management"]) git/SetupandConfigGroup -.-> git/clone("Clone Repo") git/BranchManagementGroup -.-> git/log("Show Commits") subgraph Lab Skills git/clone -.-> lab-12774{{"Ver commits en un rango de fechas específico"}} git/log -.-> lab-12774{{"Ver commits en un rango de fechas específico"}} end

Clonar el repositorio de Git

Para comenzar a explorar las capacidades de filtrado por rango de fechas de Git, primero necesitamos un repositorio de Git con el que trabajar. Utilizaremos el repositorio git-playground proporcionado por LabEx.

Comencemos clonando el repositorio:

  1. Abra su terminal en la máquina virtual (VM) de LabEx.
terminal
  1. Ejecute el siguiente comando para clonar el repositorio:
git clone https://github.com/labex-labs/git-playground

Debería ver una salida similar a esta:

Cloning into 'git-playground'...
remote: Enumerating objects: 8, done.
remote: Counting objects: 100% (8/8), done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 8 (delta 0), reused 8 (delta 0), pack-reused 0
Receiving objects: 100% (8/8), done.
  1. Navegue hasta el directorio del repositorio:
cd git-playground

Ahora que tenemos el repositorio en nuestra máquina local, podemos comenzar a explorar el historial de commits (confirmaciones).

Explorar el comando básico git log

Ahora que hemos clonado nuestro repositorio, aprendamos cómo ver el historial de commits (confirmaciones) utilizando el comando git log.

El comando git log muestra una lista de todos los commits en el repositorio, comenzando por el más reciente. Cada entrada de commit incluye:

  • Un hash (identificador) de commit único
  • Información del autor
  • Fecha y hora del commit
  • Mensaje del commit

Veamos el historial básico de commits:

git log

Debería ver una salida similar a la siguiente:

commit d22f46ba8c2d4e07d773c5126e9c803933eb5898 (HEAD -> master, origin/master, origin/feature-branch, origin/HEAD)
Author: Hang <[email protected]>
Date:   Wed Apr 26 14:16:25 2023 +0800

    Added file2.txt

commit cf80005e40a3c661eb212fcea5fad06f8283f08f
Author: Hang <[email protected]>
Date:   Wed Apr 26 14:16:25 2023 +0800

    Added file1.txt

commit b00b9374a7c549d1af111aa777fdcc868d8a2a01
Author: Hang <[email protected]>
Date:   Wed Apr 26 14:16:00 2023 +0800

    Initial commit

Si la salida es larga, puede navegar por ella utilizando:

  • Presione Space para avanzar
  • Presione b para retroceder
  • Presione q para salir de la vista del log

Tenga en cuenta que cada commit tiene un identificador único (la larga cadena hexadecimal), la información del autor, la fecha y hora del commit y un mensaje que describe los cambios realizados.

Ver commits en un rango de fechas específico

Ahora aprenderemos cómo filtrar commits basados en fechas específicas. Git proporciona dos opciones útiles para este propósito:

  • --since o --after: Muestra los commits más recientes que una fecha específica
  • --until o --before: Muestra los commits más antiguos que una fecha específica

Cuando combinamos estas opciones, podemos ver los commits dentro de un rango de fechas específico.

Veamos todos los commits que ocurrieron entre el 25 de abril de 2023 y el 27 de abril de 2023:

git log --since='Apr 25 2023' --until='Apr 27 2023'

Este comando mostrará todos los commits que se hicieron entre el 25 y el 27 de abril de 2023. La salida debería verse así:

commit d22f46ba8c2d4e07d773c5126e9c803933eb5898 (HEAD -> master, origin/master, origin/feature-branch, origin/HEAD)
Author: Hang <[email protected]>
Date:   Wed Apr 26 14:16:25 2023 +0800

    Added file2.txt

commit cf80005e40a3c661eb212fcea5fad06f8283f08f
Author: Hang <[email protected]>
Date:   Wed Apr 26 14:16:25 2023 +0800

    Added file1.txt

commit b00b9374a7c549d1af111aa777fdcc868d8a2a01
Author: Hang <[email protected]>
Date:   Wed Apr 26 14:16:00 2023 +0800

    Initial commit

Git acepta muchos formatos de fecha, incluyendo:

  • "YYYY-MM-DD" (por ejemplo, 2023-04-25)
  • "Month DD YYYY" (por ejemplo, Apr 25 2023)
  • "DD Month YYYY" (por ejemplo, 25 Apr 2023)

Pruebe otro formato de fecha para ver si hay algún commit dentro de un rango diferente:

git log --since='2023-04-20' --until='2023-04-24'

Es posible que este comando no devuelva ningún resultado si no hubo commits durante ese período, lo cual es perfectamente normal.

Usar fechas relativas y opciones de formato

Git también admite fechas relativas, lo cual puede ser muy conveniente para ver rápidamente la actividad reciente.

Veamos todos los commits de las últimas 12 semanas:

git log --since='12 weeks ago'

Dependiendo de cuándo se ejecute este comando, es posible que vea todos los commits o solo algunos de ellos si se encuentran dentro de ese período de tiempo.

Otros formatos de fechas relativas útiles incluyen:

  • "X days ago" (hace X días)
  • "X months ago" (hace X meses)
  • "yesterday" (ayer)
  • "last week" (la semana pasada)

Intentemos ver los commits del último año:

git log --since='1 year ago'

Este comando mostrará todos los commits realizados durante el último año.

Opciones de formato adicionales

El comando git log proporciona varias opciones de formato para personalizar la salida. Aquí hay algunas útiles:

  1. Para mostrar un registro más conciso con cada commit en una sola línea:
git log --oneline --since='Apr 25 2023' --until='Apr 27 2023'

La salida se verá así:

d22f46b (HEAD -> master, origin/master, origin/feature-branch, origin/HEAD) Added file2.txt
cf80005 Added file1.txt
b00b937 Initial commit
  1. Para ver los archivos que se cambiaron en cada commit:
git log --name-status --since='Apr 25 2023' --until='Apr 27 2023'

Este comando muestra el estado de los archivos que se modificaron en cada commit, lo cual puede ser útil para entender qué se cambió.

Estas opciones de formato se pueden combinar con filtros de fecha para crear consultas poderosas que le ayuden a entender mejor la historia de un proyecto.

Resumen

En este laboratorio, aprendiste cómo ver los commits en un rango de fechas específico utilizando Git. Exploraste:

  • Cómo clonar un repositorio de Git en tu máquina local
  • Cómo usar el comando básico git log para ver el historial de commits
  • Cómo filtrar los commits basados en rangos de fechas específicos utilizando las opciones --since y --until
  • Cómo usar fechas relativas como "12 weeks ago" (hace 12 semanas) para un filtrado más flexible
  • Cómo personalizar la salida del comando git log con opciones de formato

Estas habilidades son esenciales para entender la historia del proyecto, localizar errores y revisar la línea de tiempo de desarrollo de una base de código. A medida que sigas trabajando con Git, estas técnicas de filtrado te ayudarán a navegar incluso por repositorios grandes con facilidad.