Cómo comprobar si un commit de Git fue realizado por un autor específico

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 commit de Git fue realizado por un autor específico. Exploraremos dos métodos principales: filtrar el historial de commits utilizando git log --author para ver los commits de una persona en particular, y utilizar git show con un hash de commit para verificar los detalles del autor de un solo commit.

A través de ejercicios prácticos, practicarás la aplicación de estos comandos dentro de un repositorio de Git de muestra. Demostraremos cómo filtrar los commits por nombre de autor y luego utilizar git show para examinar la información del autor de un commit específico, asegurándonos de que puedas identificar de manera efectiva al contribuyente de cualquier cambio dado en tu historial de Git.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL git(("Git")) -.-> git/SetupandConfigGroup(["Setup and Config"]) git(("Git")) -.-> git/BasicOperationsGroup(["Basic Operations"]) git(("Git")) -.-> git/BranchManagementGroup(["Branch Management"]) git/SetupandConfigGroup -.-> git/config("Set Configurations") git/BasicOperationsGroup -.-> git/add("Stage Files") git/BasicOperationsGroup -.-> git/commit("Create Commit") git/BasicOperationsGroup -.-> git/diff("Compare Changes") git/BranchManagementGroup -.-> git/log("Show Commits") subgraph Lab Skills git/config -.-> lab-560070{{"Cómo comprobar si un commit de Git fue realizado por un autor específico"}} git/add -.-> lab-560070{{"Cómo comprobar si un commit de Git fue realizado por un autor específico"}} git/commit -.-> lab-560070{{"Cómo comprobar si un commit de Git fue realizado por un autor específico"}} git/diff -.-> lab-560070{{"Cómo comprobar si un commit de Git fue realizado por un autor específico"}} git/log -.-> lab-560070{{"Cómo comprobar si un commit de Git fue realizado por un autor específico"}} end

Ejecutar git log --author para filtrar

En este paso, aprenderemos cómo filtrar el historial de commits utilizando la bandera --author con el comando git log. Esto es útil cuando solo quieres ver los commits realizados por una persona específica.

Primero, asegúrate de estar en el directorio de tu proyecto. Abre tu terminal y escribe:

cd ~/project/my-time-machine

Ahora, usemos git log con la bandera --author para ver los commits realizados por "Jane Doe". Recuerda, configuramos el nombre del autor en el paso de configuración.

git log --author="Jane Doe"

Deberías ver el commit que hicimos en el laboratorio anterior:

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

    Send a message to the future

Si tuvieras commits de otros autores, no aparecerían en esta salida. Esto demuestra cómo puedes filtrar fácilmente el historial de commits para centrarte en las contribuciones de una persona específica.

Poder filtrar el registro de commits por autor es una herramienta poderosa, especialmente cuando trabajas en un equipo. Te permite ver rápidamente quién hizo cambios específicos y entender las contribuciones de cada miembro del equipo.

Presiona q para salir de la vista del registro.

Usar git show para verificar el autor

En este paso, usaremos el comando git show para ver los detalles de un commit específico, incluyendo la información del autor. Esto es útil cuando quieres examinar un solo commit en detalle.

Asegúrate de que todavía estés en el directorio ~/project/my-time-machine.

Primero, obtengamos el hash del commit (el identificador único) de nuestro commit. Podemos usar git log --oneline para obtener una versión más corta del registro:

git log --oneline

Deberías ver una salida similar a esta:

a1b2c3d (HEAD -> master) Send a message to the future

La primera parte, a1b2c3d (tu hash será diferente), es el hash corto del commit. Copia este hash.

Ahora, usa el comando git show seguido del hash del commit que copiaste:

git show <paste_your_commit_hash_here>

Por ejemplo, si tu hash fuera a1b2c3d, escribirías:

git show a1b2c3d

La salida mostrará los detalles de ese commit específico, incluyendo el autor:

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

    Send a message to the future

diff --git a/message.txt b/message.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/message.txt
@@ -0,0 +1 @@
+Hello, Future Me

Puedes ver claramente la línea Author: que confirma que "Jane Doe" hizo este commit. El comando git show es una forma poderosa de inspeccionar commits individuales, ver exactamente qué archivos se cambiaron y ver el contenido de esos cambios.

Presiona q para salir de la vista.

Probar con múltiples autores

En este paso, simularemos que otro autor realiza un commit para ver cómo funciona git log --author con múltiples contribuyentes.

Primero, cambiemos la configuración del autor de Git para el próximo commit. Podemos hacer esto temporalmente para este repositorio:

git config user.name "John Smith"
git config user.email "[email protected]"

Ahora, creemos un nuevo archivo como "John Smith":

echo "Hello from John" > johns-file.txt

Añadamos el nuevo archivo al área de preparación (staging area):

git add johns-file.txt

Y confirmemos (hagamos commit) el cambio como "John Smith":

git commit -m "Add a file from John"

Deberías ver una salida que indique que se ha creado un nuevo commit por "John Smith".

Ahora, usemos git log para ver el historial completo:

git log

Verás dos commits, uno de "Jane Doe" y otro de "John Smith".

Ahora, filtremos el registro para mostrar solo los commits de "Jane Doe":

git log --author="Jane Doe"

Esto solo mostrará el primer commit.

Finalmente, filtremos el registro para mostrar solo los commits de "John Smith":

git log --author="John Smith"

Esto solo mostrará el segundo commit.

Esto demuestra cómo git log --author es efectivo para filtrar commits basados en el autor, lo cual es esencial para hacer un seguimiento de las contribuciones en proyectos colaborativos.

Presiona q para salir de las vistas del registro.

Resumen

En este laboratorio, aprendimos cómo comprobar si un commit de Git fue realizado por un autor específico. Primero, usamos el comando git log --author para filtrar el historial de commits y mostrar solo aquellos realizados por un autor designado, demostrando su utilidad para centrarse en las contribuciones individuales en un entorno de equipo.

Posteriormente, exploramos el uso del comando git show con un hash de commit específico para ver información detallada sobre ese commit, incluyendo el nombre y el correo electrónico del autor, proporcionando un método para verificar el autor de un cambio en particular. Finalmente, probamos estos métodos con múltiples autores para confirmar su efectividad en la distinción de contribuciones de diferentes individuos.