Git Squash se compromete en medio de una rama
Quiero aplastar varias confirmaciones juntas en el medio de una rama sin modificar las confirmaciones antes y después.
Yo tengo :
A -- B -- C -- D -- E -- F -- G
| |
master dev
origin/master
Quiero aplastar eso en
A -- H -- E -- F -- G
| |
master dev
origin/master
DóndeH
es equivalente aB -- C -- D
. Y quiero poder especificar el mensaje de confirmación deH
. A
es la última confirmación que se ha enviado, por lo que todas las confirmaciones posteriores pueden reescribirse sin alterar el servidor. La idea es limpiar el historial antes de avanzar rápidamentemaster
.
Cómo puedo hacer eso ?
PD: Tenga en cuenta que en mi caso tengo más de 3 commits para aplastar en el medio, pero si puedo hacerlo con 3, debería poder hacerlo con más.
PPS: Además, si es posible, preferiría una solución dondeE
, F
yG
permanecen intactos (principalmente con respecto a la fecha de confirmación).