Cómo funciona Git · Mapas mentales
Cómo funciona Git. Un mapa mental editable con ramas de colores, ideas secundarias y conexiones. Las líneas curvas muestran relaciones; las flechas aparecen cuando importa la dirección.
Git es un sistema de control de versiones basado en instantáneas: cada commit es una imagen completa del repositorio, enlazada con su padre, y las ramas no son más que punteros que avanzan por el historial.
Cómo funciona Git · Mapas mentales
El lienzo interactivo de MindMap de esta explicación: cada carril, cada fila y cada flecha de arriba forma parte de un diagrama real de QueryChart que puedes abrir y editar.
Cómo leer este mapa mental
- Empieza por el tema central y sigue una rama de color para explorar sus ideas.
- Las líneas curvas muestran relaciones; las flechas aparecen cuando importa la dirección.
Working tree
Esta rama reúne “Developer edits files in the working directory”.
Stage
Esta rama reúne “git add moves changes into the staging area”.
Commit history
Esta rama reúne “A commit is a snapshot of the whole repository plus metadata — author, message, timestamp. Git only stores the delta against the parent, so history stays small.”, “Git stores the commit with a pointer to its parent”, “The branch pointer moves to the new commit”.
Share
Esta rama reúne “The commit graph is what makes Git a distributed tool: everyone has the full history locally, and ‘push’ and ‘pull’ only exchange the missing pieces.”, “Remote repository records the new history”, “History is shared and up to date”.
Resolve conflicts
Esta rama reúne “Git merges divergent histories automatically when the changes touch different files or lines. Only overlapping edits produce a conflict.”, “Merge conflict — developer resolves it manually”.
Conexiones entre ramas
Un commit es una instantánea completa enlazada con su padre, y eso convierte el historial en un grafo que solo admite añadidos.
Una rama es un puntero a un commit, no un contenedor de cambios: por eso crear ramas y cambiar de rama sale barato.
El área de preparación es el paso intermedio deliberado que te deja elegir qué contiene un commit.
Git es distribuido: todo el mundo tiene el historial completo en local, y push y pull solo intercambian las piezas que faltan.
Los conflictos son la excepción, no la regla, y cuando ocurren los resuelve una persona de forma explícita.
Relaciones clave y conclusiones
- Un commit es una instantánea completa enlazada con su padre, y eso convierte el historial en un grafo que solo admite añadidos.
- Una rama es un puntero a un commit, no un contenedor de cambios: por eso crear ramas y cambiar de rama sale barato.
- El área de preparación es el paso intermedio deliberado que te deja elegir qué contiene un commit.
- Git es distribuido: todo el mundo tiene el historial completo en local, y push y pull solo intercambian las piezas que faltan.
- Los conflictos son la excepción, no la regla, y cuando ocurren los resuelve una persona de forma explícita.
Cuándo usar este diagrama
- Enseñar el modelo de instantáneas a un equipo que solo ha usado Git como una secuencia de comandos.
- Explicar ramas, fusiones y conflictos con el modelo de punteros en vez de con comandos memorizados.
- Aterrizar la revisión del flujo de commits y de ramas de un equipo en cómo está estructurado el historial de verdad.
Cómo funciona
Adapta el tema central
Cambia el nombre del tema para adaptarlo a tu proyecto o clase.
Desarrolla las ramas
Edita las ideas y añade ejemplos o notas.
Conecta ideas relacionadas
Dibuja conexiones entre ramas; usa flechas cuando la dirección importe.
Preguntas frecuentes
¿Qué es Git y en qué se diferencia de otros controles de versiones?
Git es un sistema de control de versiones distribuido basado en instantáneas. Cada commit guarda una imagen completa del repositorio más un puntero a su padre, en lugar de una simple lista de cambios en archivos. Como cada desarrollador tiene el historial completo en local, la mayoría de las operaciones funcionan sin conexión, y colaborar consiste en intercambiar commits con los remotos.
¿Qué es una rama en Git?
Una rama es un puntero móvil a un commit. Cuando haces commit en una rama, el puntero avanza al nuevo commit; al commit en sí no le importa en qué rama está. Por eso crear una rama es instantáneo, y por eso cambiar de rama solo cambia qué instantánea muestra tu directorio de trabajo.
¿Por qué Git tiene un área de preparación?
El área de preparación te deja construir un commit de forma deliberada. Puedes editar varios archivos, preparar solo los que van juntos y hacer commit de esa selección, dejando sin confirmar el trabajo que no viene al caso. El directorio de trabajo, el área de preparación y el repositorio son tres estados separados, que es exactamente el pipeline que dibuja el diagrama.
¿Cómo resuelve Git los conflictos de fusión?
Cuando dos ramas cambian archivos distintos, o líneas distintas, Git las fusiona automáticamente. Cuando cambian las mismas líneas, Git no puede adivinar qué versión es la correcta, así que marca el conflicto y le pide a una persona que elija. El conflicto es una decisión, no un fallo, y por eso el diagrama lo enruta a un paso de resolución explícito antes de compartir el historial.
Editar este mapa mental en QueryChart
Abre este mapa mental en un lienzo editable. Mueve ideas, añade ramas y dibuja conexiones.