Git HEAD ~ 1 no se comporta como se esperaba

Aquí está mi logging de git:

Quiero restablecer la confirmación más reciente (arriba).

Si ejecuto git reset --hard HEAD~1 , sin embargo, ¡me devuelve cinco commits!

De manera similar, si ejecuto git rebase -i HEAD~3 , espero ver aparecer los tres commits más recientes, ¡pero en cambio obtengo unos 50!

¿Qué podría estar yendo mal?

Su HEAD real se fusiona, por lo que tiene múltiples padres. Si escribe HEAD~1 , git debe elegir uno de los padres. Simplemente elige el que no te gusta.

Utilice el hash real en lugar de HEAD~1 en tales situaciones.