Hola Malena, espero que estés bien
Tienes toda la razón en tu observación sobre cómo Git maneja los commits durante un merge. El hash de un commit existente en una rama, como en tu caso en la rama de desarrollo, no cambia después de hacer un merge. Esto se debe a que cada commit en Git tiene un hash único que lo identifica de manera permanente.
Cuando realizas un merge, Git crea un nuevo commit de merge en la rama de destino, en este caso, la rama main. Este commit de merge tiene su propio hash único y representa la combinación de los cambios de ambas ramas, pero no altera los commits originales de la rama de desarrollo.
Por ejemplo, si usas el comando git log --oneline
después de realizar el merge, verás el nuevo commit de merge con su propio hash, además de los commits anteriores que permanecen inalterados.
Espero haber aclarado tu duda. ¡Espero haber ayudado y buenos estudios!