Git merge se compromete

Soy nuevo en git (¡y lo disfruto mucho!). Al desarrollarme en una nueva sucursal, seguí cometiendo los diversos "estados" de desarrollo de mi aplicación. Ahora tengo que verificarlo para su revisión, pero no quería que todo vaya en diferentes commits (diferentes comentarios e ids).

¿Cómo puedo presionar todos los cambios como si fuera la primera vez?

git rebase -i HEAD~5 

le permite seleccionar de forma interactiva cuál de los 5 últimos commits se unió en uno; de la parte superior de mi cabeza abre el editor con algo como esto

 pick xxxx commit1 pick xxxx commit2 pick xxxx commit3 pick xxxx commit4 pick xxxx commit5 

tu cambias esto a

 pick xxxx commit1 squash xxxx commit2 squash xxxx commit3 squash xxxx commit4 pick xxxx commit5 

lo que resulta en dos compromisos que quedan: el primero que tiene commits combinados de 1 a 4 y commit 5 (el más nuevo) que se deja solo

Creo que es una buena idea mantener sus "micro commits". Puede hacer una diferencia desde la última confirmación antes de su function hasta la CABEZA actual para ver la diferencia completa que puede enviar para su revisión.