Cómo comprobar si un repositorio de Git tiene confirmaciones (commits)

GitGitBeginner
Practicar Ahora

💡 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

En este laboratorio, aprenderás cómo verificar si un repositorio de Git tiene confirmaciones (commits). Exploraremos dos métodos principales: utilizar el comando git log para ver el historial completo de confirmaciones y utilizar el comando git rev-list --count HEAD para obtener rápidamente un recuento de las confirmaciones.

Comenzarás utilizando git log para ver el historial detallado de un repositorio con confirmaciones existentes. Luego, utilizarás git rev-list --count HEAD para obtener un recuento numérico de las confirmaciones. Finalmente, probarás estos métodos en un repositorio vacío para entender cómo se comportan cuando no hay confirmaciones presentes.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL git(("Git")) -.-> git/SetupandConfigGroup(["Setup and Config"]) git(("Git")) -.-> git/BranchManagementGroup(["Branch Management"]) git/SetupandConfigGroup -.-> git/init("Initialize Repo") git/BranchManagementGroup -.-> git/log("Show Commits") subgraph Lab Skills git/init -.-> lab-560086{{"Cómo comprobar si un repositorio de Git tiene confirmaciones (commits)"}} git/log -.-> lab-560086{{"Cómo comprobar si un repositorio de Git tiene confirmaciones (commits)"}} end

Ejecutar git log para verificar el historial

En este paso, utilizaremos el comando git log para ver el historial de confirmaciones (commits) de nuestro repositorio de Git. Este comando es esencial para entender la línea de tiempo de tu proyecto y ver los cambios que se han realizado.

Primero, asegúrate de estar en el directorio my-time-machine. Si no estás, utiliza el comando cd para navegar hasta allí:

cd ~/project/my-time-machine

Ahora, ejecuta el comando git log:

git log

Deberías ver una salida similar a esta:

commit a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9 (HEAD -> master)
Author: Jane Doe <[email protected]>
Date:   Mon Aug 7 10:00:00 2023 +0000

    Send a message to the future

Esta salida muestra los detalles de la confirmación que creamos en el laboratorio anterior. Cada entrada en el registro representa una confirmación individual, mostrando información como el hash de la confirmación (un identificador único), el autor, la fecha y el mensaje de confirmación.

El comando git log es tu ventana al historial de tu proyecto. A medida que realices más confirmaciones, cada una se agregará a este registro, creando un registro cronológico de todos los cambios. Esto es increíblemente valioso para seguir el progreso, entender cómo evolucionó tu proyecto e incluso depurar problemas viendo cuándo se introdujeron cambios específicos.

Si tienes muchas confirmaciones, la salida de git log puede ser bastante larga. Puedes presionar q para salir de la vista del registro y volver al indicador del terminal.

Utilizar git rev-list --count HEAD

En este paso, aprenderemos otra forma de ver rápidamente cuántas confirmaciones (commits) hay en nuestro repositorio utilizando el comando git rev-list --count HEAD. Esta es una forma más concisa de obtener solo el número de confirmaciones en comparación con git log.

Asegúrate de seguir estando en el directorio ~/project/my-time-machine.

Ahora, ejecuta el siguiente comando:

git rev-list --count HEAD

Deberías ver un solo número como salida:

1

Este número representa el recuento total de confirmaciones en tu rama actual (HEAD se refiere al final de la rama actual, que es master en nuestro caso). Dado que solo hemos realizado una confirmación hasta ahora, la salida es 1.

El comando git rev-list es una herramienta poderosa para listar objetos de confirmación. Cuando se combina con la opción --count, simplemente te da el número total de confirmaciones alcanzables desde la referencia especificada (en este caso, HEAD). Esto es particularmente útil cuando solo necesitas un recuento rápido de cuántos puntos de guardado tienes en el historial de tu proyecto.

Mientras que git log te da información detallada sobre cada confirmación, git rev-list --count proporciona un resumen numérico simple de la longitud del historial de tu proyecto. Ambos comandos son útiles en diferentes escenarios.

Probar un repositorio vacío

En este paso, exploraremos qué sucede cuando se ejecutan los comandos git log y git rev-list --count HEAD en un repositorio de Git que aún no tiene confirmaciones (commits). Esto te ayudará a entender la salida que viste en el primer laboratorio cuando inicializaste tu repositorio por primera vez.

Primero, creemos un nuevo directorio vacío e inicialicemos un repositorio de Git dentro de él. Asegúrate de estar en el directorio ~/project:

cd ~/project
mkdir empty-repo
cd empty-repo
git init

Deberías ver el mensaje que indica que se ha inicializado un repositorio de Git vacío:

Initialized empty Git repository in /home/labex/project/empty-repo/.git/

Ahora, ejecutemos git log en este repositorio vacío:

git log

Verás una salida similar a esta:

fatal: your current branch 'master' does not have any commits yet

Este mensaje te dice exactamente lo que está pasando: no hay confirmaciones en la rama actual (master). git log necesita confirmaciones para mostrar un historial, por lo que informa que no hay nada que mostrar.

A continuación, probemos git rev-list --count HEAD:

git rev-list --count HEAD

Esta vez, la salida será:

0

¡Esto tiene sentido! Dado que no hay confirmaciones, el recuento de confirmaciones alcanzables desde HEAD es cero.

Comparar la salida de estos comandos en un repositorio vacío con la de nuestro repositorio my-time-machine (que tiene una confirmación) ayuda a consolidar tu comprensión de lo que hacen estos comandos. git log muestra los detalles de las confirmaciones, mientras que git rev-list --count te da un recuento simple. Ambos comandos reflejan con precisión el estado del historial del repositorio.

Ahora puedes eliminar el directorio empty-repo ya que no lo necesitaremos para los siguientes pasos:

cd ~/project
rm -rf empty-repo

Resumen

En este laboratorio, aprendimos cómo comprobar si un repositorio de Git tiene confirmaciones (commits). Primero, utilizamos el comando git log para ver el historial detallado de confirmaciones, comprendiendo su estructura de salida, que incluye el hash de la confirmación, el autor, la fecha y el mensaje. Este comando proporciona un registro cronológico de los cambios del proyecto. Luego, exploramos un método más conciso utilizando git rev-list --count HEAD, que directamente muestra el número total de confirmaciones en la rama actual. Finalmente, probamos estos métodos en un repositorio vacío para observar la salida cuando no hay confirmaciones, demostrando cómo identificar un repositorio sin historial.