Acciones
Grafo de commits
- $ git init
- $ git commit -m "commit inicial"
Cargando aplicación...
Preparando tu experiencia meskeIA
Crea commits, abre ramas, cambia entre ellas y fusiónalas mientras ves crecer el grafo de commits en tiempo real. Entiende HEAD y los punteros de rama sin tocar la terminal.
Cómo funcionan los punteros, HEAD y las fusiones por debajo
| Concepto | Qué es | Comando típico |
|---|---|---|
| Commit | Instantánea del proyecto con uno o más padres | git commit -m |
| Rama (branch) | Puntero móvil a un commit | git branch / git checkout -b |
| HEAD | Puntero a la rama (y commit) actual | git checkout |
| Merge | Une dos ramas; crea un commit con dos padres | git merge |
| Fast-forward | Mover el puntero sin crear commit de fusión | git merge (sin divergencia) |
| Rebase | Reaplica commits sobre otra base (historia lineal) | git rebase |
No. Una rama es solo un puntero a un commit (literalmente un archivo con un identificador). No se copia nada del proyecto, por eso crear ramas es instantáneo y prácticamente gratis en espacio. Cambiar de rama actualiza tu directorio de trabajo al commit al que apunta.
En el simulador, crear una rama solo añade una etiqueta nueva.
Si fusionas una rama en otra que no ha avanzado desde que se separaron, Git no necesita crear un commit de fusión: simplemente mueve el puntero hacia delante hasta el último commit de la otra rama. Es el merge más limpio, pero solo es posible cuando no hay divergencia.
Si ambas ramas han avanzado, aparece un commit de fusión con dos padres.
HEAD indica dónde estás. Normalmente apunta a una rama (HEAD → main), y esa rama apunta a un commit. Al hacer commit, avanza la rama y HEAD va con ella. Si haces checkout a un commit concreto en vez de a una rama, quedas en estado "detached HEAD".
En el simulador, la etiqueta HEAD → marca tu rama actual.
Merge conserva la historia tal como ocurrió, con sus bifurcaciones y un commit de fusión. Rebase reescribe tus commits sobre otra base para lograr una historia lineal y limpia, pero cambia sus identificadores. Usa merge para integrar ramas compartidas y rebase para ordenar tu trabajo local antes de compartirlo.
Regla de oro: no hagas rebase de commits que ya estén en remoto compartido.
Ocurre cuando dos ramas modifican las mismas líneas de un archivo de forma distinta. Git no puede decidir cuál vale y marca el conflicto para que lo resuelvas a mano. No es un error: es parte normal del trabajo en equipo cuando hay cambios solapados.
Cuanto más pequeñas y frecuentes son las fusiones, menos conflictos aparecen.
Asegúrate de estar en main con los últimos cambios antes de empezar algo nuevo.
git checkout -b feature. Trabajarás aislado sin tocar main.
Cada commit es un punto de guardado con un mensaje claro de qué cambiaste.
git checkout main y git merge feature. Si ambas avanzaron, se crea un commit de fusión.
Una vez integrada, la rama de característica ya no hace falta: se elimina el puntero.
Explica el porqué, no solo el qué. Tu yo futuro y tu equipo lo agradecerán.
Un commit = un cambio lógico. Facilita revisar, revertir y entender la historia.
Aísla cada función o corrección. main se mantiene siempre desplegable.
Fusionar pronto y con frecuencia evita conflictos grandes y dolorosos.
Evita rebase o force-push sobre commits que ya tienen otras personas.
No versiones binarios, dependencias ni secretos. Mantén el repositorio limpio.