Aplastar a un solo compromiso "adecuado" para la solicitud de extracción de github

Tengo un repositorio en github que otra persona (Bob, por el bien de la discusión) ha emitido una solicitud de extracción para. Su código no es perfecto, así que pasamos por algunas rondas de marcas. Como lo entiendo, él comete y presiona su solicitud de extracción para cada conjunto de cambios marcados.

Así que mi repositorio ahora se ve así:

master: ---o A (Chowlett
           |
           |
pull-req:  o---o---o---o
               B   C   D (all Bob)

Commit SHAs y msgs son los siguientes:

UNA:

123456 Good commit <chowlett>

SEGUNDO:

777ccc Fix the widget bug <bob>

DO:

888ddd Review markups <bob>

RE:

999eee Further markups <bob>

Ahora estoy feliz de aceptar esta solicitud de extracción; pero preferiría que las versiones de marcado previo no estuvieran en mi repositorio. ¿Puedo lograr todo lo siguiente? ¿y cómo?

Combine B, C y D en mi repositorio como un solo compromisoGenere también el compromiso "Fusionar solicitud de extracción # 99 en ..."Haz que github cierre automáticamente la solicitud de extracción

Respuestas a la pregunta(5)

Su respuesta a la pregunta