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

  1. Adapta el tema central

    Cambia el nombre del tema para adaptarlo a tu proyecto o clase.

  2. Desarrolla las ramas

    Edita las ideas y añade ejemplos o notas.

  3. 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.

Editar este mapa mental en QueryChart

Más en Mapas mentales