Cómo evitar git rebase matando commits de fusión?

Dado el siguientegit historia:

    C-I    origin/master
   /
A-B-F-G-H  master
 \   /
  D-E      branch-b

Quiero reajustar mi @ locmaster rama encima deorigin/master, pero quiero preservar la fusión commitG. Cuando intenté simplemente haciendo ungit rebase origin/master mientras que enmaster se aplastóD..E comoG y lo comprometió con el mensaje de compromiso deE, por lo que se perdió la historia de que hubo una fusión. ¿Hay alguna forma de preservar esta fusión sin dejar de obtener el rebase? Para mayor claridad, mi resultado previsto es:

A-B-C-I-F-G-H  master
 \       /
  D-----E      branch-b

Respuestas a la pregunta(2)

Su respuesta a la pregunta