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 y git log --oneline con explicación

Pregunta: Durante la clase, la instructora Ellen usó el comando git log --oneline para verificar el hash de la modificación creada dentro de la rama de desarrollo en el archivo contacto.html
¿Será que después de la fusión hubo un cambio en este número?

Respuesta: No, el hash del commit anterior no cambia después del merge.
Cuando haces un merge, Git no modifica los commits anteriores, simplemente crea un nuevo commit de fusión (merge commit), que tiene su propio hash único. El commit donde editaste contacto.html mantiene el mismo hash que tenía antes.

Explicación simple:

  • Cada commit en Git tiene un hash único que representa su contenido y su posición en el historial.
  • El comando git merge lo que hace es unir dos ramas (por ejemplo, main y develop), y para eso crea un nuevo commit que junta ambos historiales.
  • Ese nuevo commit de merge tiene un nuevo hash, pero los commits anteriores (como el de contacto.html) no se tocan.

tenemos dos ramas: main(origin) y develop(aqui agregamos el contacto.html)

(main)
  a111 feat: create index.html

(develop)
  a111 feat: create index.html
  b222 feat: add contacto.html

realizamos el merge de la rama develop a main

git checkout main
git merge develop

al realizar el merge se unen los cambios a la rama que se mergeo en este caso main. y se crea un commit con el merge que se hizo

c333 Merge branch 'develop'
|\
| b222 feat: add contacto.html
|/
a111 feat: create index.html

conclucion:

b222 es el mismo commit que hiciste en develop (¡su hash no cambia!).
c333 es un nuevo commit creado por el merge, que une main y develop.

1 respuesta

gracias por la aclaración, esperaré que la valide la instructora o alguien del desk ayuda