Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Desafio: Hash del Merge

✅ Sí, después de la fusión, el hash cambia.

Explicación: Cuando usamos git log --oneline, Git nos muestra los commits con su identificador único (hash) en una versión resumida.

Antes del merge:

La rama desarrollo tiene su propio historial de commits. contacto.html fue modificado en esa rama, generando un commit con un hash específico. Después del merge:

Si la fusión se realiza con un merge commit (git merge desarrollo sin --fast-forward), Git crea un nuevo commit de fusión con un nuevo hash. Si la fusión es con fast-forward (git merge --ff-only desarrollo), entonces el historial de main se moverá hasta el último commit de desarrollo y el hash del commit final no cambiará. Conclusión:

Si hubo un commit de merge, el hash cambió porque se generó un nuevo commit de fusión. Si el merge fue fast-forward, el hash de contacto.html seguirá siendo el mismo porque no se creó un nuevo commit. Para verlo en acción:

bash Copiar código git log --oneline --graph Este comando muestra un historial visual del merge.

1 respuesta

Hola Andres, espero que estés bien

Lo que mencionas sobre los cambios en los hashes después de un merge es correcto y es un aspecto importante de cómo Git maneja los commits.

Para aclarar un poco más:

  1. Merge Commit: Si realizas un merge sin la opción --fast-forward (ejemplo: git merge desarrollo), Git creará un nuevo commit de fusión. Este nuevo commit tendrá su propio hash único, lo que significa que sí, el hash cambia porque se ha creado un nuevo punto en el historial del repositorio.

  2. Fast-Forward Merge: Si el merge se realiza con la opción --ff-only (ejemplo: git merge --ff-only desarrollo), Git simplemente moverá el puntero de la rama principal (main) al último commit de la rama de desarrollo, sin crear un nuevo commit de fusión. En este caso, el hash del último commit no cambiará, ya que no se ha creado un nuevo commit.

Puedes visualizar estos cambios utilizando el comando git log --oneline --graph, que te dará una representación visual del historial de commits y te ayudará a ver cómo se han integrado las ramas.

Espero que esta explicación te ayude a entender mejor cómo los merges afectan a los hashes en Git. ¡Bons estudios!