¡Hola, Shirley, espero que estés bien!
Entiendo tu duda sobre cómo los hashes de los commits cambian después de un merge. En Git, cada commit tiene un hash único que lo identifica, y este hash es calculado con base en el contenido del commit, el autor, la fecha y el hash del commit anterior.
Cuando realizas un merge, Git crea un nuevo commit de merge que tiene un hash diferente. Este commit de merge no cambia el hash de los commits anteriores; simplemente añade un nuevo commit a la historia del repositorio que refleja la combinación de las ramas.
Por ejemplo, si tienes una rama principal (main) y una rama de desarrollo (development), y realizas cambios en la rama de desarrollo, esos cambios tendrán sus propios hashes. Al fusionar la rama de desarrollo en la rama principal, Git creará un nuevo commit de merge en la rama principal con un nuevo hash. Este nuevo commit de merge contiene la referencia a los dos padres: el último commit de la rama principal y el último commit de la rama de desarrollo.
Entonces, el hash del commit original en la rama de desarrollo permanece igual, pero el merge crea un nuevo commit con su propio hash.
Espero haber aclarado tu duda. ¡Espero que te haya ayudado y buenos estudios!