- Explorar el historial con git log
- Ver detalles de un commit con git show
- Identificar quién cambió cada línea con git blame
- Buscar contenido en el código con git grep
- Analizar código en GitHub
Programar no es solo escribir código nuevo, sino también revisar y entender el existente. A menudo surgen preguntas como:
🕵️ ¿Por qué se hizo este cambio?
🕵️ ¿Quién lo realizó y cuándo?
Para responderlas, es clave conocer la historia del código. Un buen historial facilita el análisis y la resolución de problemas.
Git nos brinda herramientas poderosas para explorar estos cambios. En esta lección, aprenderás los comandos esenciales para comprender cualquier proyecto. ¡Vamos allá!
Explorar el historial con git log
git log. Este comando muestra la lista de commits en orden cronológico, empezando por el más reciente.
git log
⏬ Salida de ejemplo:
commit 5120bea3e5528c29f8d1da43731cbe895892eb6d
Author: tirion <tirion@got.com>
Date: jue sep 17 18:04:19 2020 -0400
add new content
commit e6f625cf8433c8b1f1aaed58cd2b437ec8a60f27
Author: tirion <tirion@got.com>
Date: jue sep 17 16:14:09 2020 -0400
add INFO.md
Cada commit tiene un identificador único llamado hash, junto con información sobre el autor, la fecha y un mensaje que describe el cambio.
Mejorar la visualización
-p:
git log -p
Esto mostrará qué líneas fueron modificadas en cada commit, junto con los cambios específicos en los archivos.
Ver detalles de un commit con git show
git show:
git show 5120bea3e5528c29f8d1da43731cbe895892eb6d
Este comando mostrará los cambios exactos realizados en ese commit de manera detallada.
⏬ Ejemplo de salida:
diff --git a/INFO.md b/INFO.md
index d5225f8..40f51f1 100644
--- a/INFO.md
+++ b/INFO.md
@@ -1 +1,2 @@
git is awesome!
+new line
Como los hashes pueden ser largos, Git permite usar solo los primeros caracteres (por ejemplo, 5120bea en vez del hash completo) para simplificar su uso:
git show 5120bea
Identificar quién cambió cada línea con git blame
A veces, en lugar de ver un commit completo, queremos saber quién fue el último en modificar una línea específica en un archivo. 😈 Para esto, usamos git blame:
git blame INFO.md
⏬ Ejemplo de salida:
e6f625cf (tirion 2020-09-17 16:14:09 -0400 1) git is awesome!
5120bea3 (tirion 2020-09-17 18:04:19 -0400 2) new line
Con esta información puedes ver qué commit modificó cada línea y quién lo hizo.
Buscar contenido en el código con git grep
git grep permite buscar palabras o frases dentro del código de tu repositorio. Es útil cuando necesitas encontrar dónde se usa una función o una palabra clave en el proyecto.
git grep line
Ejemplo de salida:
INFO.md:new line
Otras opciones útiles:
- Ignorar mayúsculas y minúsculas:
git grep -i codica
- Buscar en un commit específico:
git grep "Códica" 5120bea
- Buscar en todo el historial:
git grep "Códica" $(git rev-list --all)
Analizar código en GitHub
A veces, no necesitas usar la línea de comandos para ver el historial de cambios. Si el proyecto está en GitHub, puedes usar su interfaz web para:
- Ver el historial de commits.
- Comparar versiones anteriores de un archivo.
- Explorar cambios en un commit específico.
Esto es especialmente útil cuando colaboras en proyectos con otros desarrolladores.
Resumen
git logmuestra el historial de commits del proyecto.git log -pmuestra el historial junto con los cambios específicos.git show <hash>muestra los detalles de un commit específico.git blame <archivo>muestra quién modificó cada línea de un archivo.git grep <texto>busca coincidencias dentro del código.- GitHub facilita la revisión del historial y comparación de cambios.
Con estos comandos, puedes revisar y entender mejor cualquier proyecto de Git. ¡Practica en tu propio código y explora cómo se ha modificado con el tiempo!
Trabajo independiente
Revisa el historial de tus commits
1️⃣ Ejecuta los comandos que se explican en la lección para revisar el historial de commits.
2️⃣ Por ejemplo, puedes usar:
git log
🔍 Así podrás ver los mensajes de cada commit, el autor, la fecha y el identificador.
Materiales adicionales
- Ver el historial de commits.
- Búsqueda de errores.
- Búsqueda en el código y el historial.
- Webinar de Códica 🎬 Git y sus Ramas
Para acceder completo a curso necesitas un plan básico
El plan básico te dará acceso completo a todos los cursos, ejercicios y lecciones de Códica, proyectos y acceso de por vida a la teoría de las lecciones completadas. La suscripción se puede cancelar en cualquier momento.