El grafo del historial: parent, hash y el DAG
En la lección anterior vimos que cada commit es una instantánea: una imagen completa del proyecto. Ahora nos preguntamos: ¿cómo se conectan esas imágenes entre sí? Cada commit lleva una pequeña 'nota' que apunta al commit que vino antes que él: su parent. Encadenar esas notas forma un grafo que fluy
Cada imagen (commit) lleva una nota: 'vine justo después de esa imagen'. Esas notas encadenan las imágenes en un mapa de una sola dirección. Y cada imagen tiene una huella digital única: cambia cualquier cosa, y la huella cambia.
- Parent
- El puntero de un commit hacia el commit que vino antes que él. Encadenar los punteros parent es lo que forma el historial.
- DAG (grafo acíclico dirigido)
- La forma del historial de Git: cada commit apunta hacia atrás a su parent, y ese encadenamiento forma un grafo que fluye en una sola dirección, sin ciclos.
- Hash (id SHA)
- Una huella digital única de longitud fija, derivada del contenido del commit (incluido su parent). Cambia un solo carácter y el hash cambia.
- Commit raíz
- El primer commit de un repositorio. Es el único que no tiene parent: el punto de partida del grafo.
- Metadatos
- La información asociada a un commit: quién lo escribió, cuándo, y el mensaje. Esto también forma parte del hash.