Git tiene una gran cantidad de comandos y herramientas, lo que puede parecer abrumador al principio. Pero la buena noticia es que no necesitas conocerlo todo desde el inicio. Incluso los desarrolladores experimentados consultan la documentación y buscan comandos en Google.
La clave para aprender Git es usarlo a diario. Pero si quieres entenderlo bien y aprovecharlo al máximo, es esencial conocer su estructura básica.
En esta lección, exploraremos cómo Git organiza el historial de cambios de un proyecto y cómo puedes visualizarlo. 🧑💻📚
Cómo Git almacena los cambios
Para comprender Git, imagina que cada vez que guardas cambios en un proyecto, creas una nueva “foto” de cómo está en ese momento. 📷 Estas fotos se llaman commits.
Cada nuevo commit se basa en el anterior, formando una estructura encadenada. Podemos visualizar esta secuencia con el comando:
git log --graph
Por ejemplo, supongamos que ejecutamos este comando en un proyecto llamado codica-git. La salida podría verse así:
* commit e7bb5e51f96e572084f6c04ba3312e32ce6b8c0f (HEAD -> main, origin/main, origin/HEAD)
|
| update README.md
|
* commit 65a8ef7fd56c7356dcee35c2d05b4400f4467ca8
|
| Revert "remove PEOPLE.md"
|
* commit 5120bea3e5528c29f8d1da43731cbe895892eb6d
|
| add new content
|
* commit e6f625cf8433c8b1f1aaed58cd2b437ec8a60f27
|
| add INFO.md
Lo importante aquí es la barra lateral izquierda. La línea conecta los commits formando una lista ordenada. Git usa este modelo porque permite navegar fácilmente por la historia de cambios.
Cada commit tiene un identificador único (un código largo), que Git usa para referenciarlo. El commit más reciente es la cabeza (HEAD) de la lista.
HEAD y cómo deshacer un commit
Si queremos regresar al commit anterior eliminando el más reciente, podemos usar:
git reset --hard HEAD~1
Aquí, HEAD~1 significa "ir un paso atrás", es decir, eliminar el último commit.
¿Qué es una rama en Git?
Hasta ahora hemos visto los commits como una lista que crece con el tiempo. A esta lista se le da un nombre en Git, generalmente main. Podemos verlo con el comando:
Cuando creamos una rama, Git genera una línea separada de commits, que podemos unir más tarde a main.
Esto es muy útil cuando varios desarrolladores trabajan en paralelo. Visualmente, se ve algo así:
* main
|
* * feature-nueva
| |
| * commit en la nueva rama
| /
*-----*
Resumen
- Git organiza los cambios en una estructura de lista enlazada de commits.
- Cada commit está basado en el anterior y tiene un identificador único.
- HEAD es el commit actual en el que estamos trabajando.
- Podemos eliminar el último commit con
git reset --hard HEAD~1. - La rama en Git es un camino separado de commits que eventualmente se fusiona con la rama principal (
main). - Trabajar con ramas permite que varias personas colaboren sin afectar la versión estable del proyecto.
Este es solo el inicio de Git. En futuras lecciones, aprenderemos más sobre cómo gestionar ramas y colaborar en equipo eficientemente.
Materiales adicionales
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.