Mover el trabajo en vuelo desde la twig de Git y moverlo a una twig temática

Fondo

Si fuera a tener una twig de git que se vea así:

-- A -- B -- C -- D -- E --

Las confirmaciones más cercanas a la hora actual pueden no tener el cambio de los files en las confirmaciones anteriores.

Me gustaría que mi repository se viera así después de limpiarlo.

-- A -- B -- D -- E -- \-- C --

Básicamente, estoy migrando de una herramienta de SCM (AccuRev) a git. Tenemos cuatro streams que representan entornos. Cada secuencia es henetworkingada. Prod > pre-prod > QC > Dev Podría haber packages de cambios en QC que no están en Prod, etc. Solo podemos migrar una secuencia debido a la forma en que el historial funciona en AccuRev, por lo que migraremos a través de la secuencia de desarrollo a medida que el historial sea más detallado. Por lo tanto, tendremos la secuencia de desarrollo AccuRev asignada como la twig principal en Git (y de dónde se originarán las comstackciones de producción, por lo que debe ser estable).


PREGUNTA:

Estoy buscando la mejor manera de eliminar el trabajo en vuelo de la twig principal de git y moverlo a una twig temática.

Tenga en count que una confirmación contiene cambios principales después de completar la migration.

Para mover la confirmación C de la twig master twig topic , puede usar los commands siguientes:

 git checkout topic git cherry-pick <commit id for C> git checkout master git rebase -i master~4 

~4 representa la cantidad de confirmaciones que desea rebase desde HEAD

En la window interactiva, cambie la confirmación C como drop :

 pick B drop C pick D pick E 

Ahora la confirmación C se mueve de la twig master a la twig topic .