¿Cómo deshacer de manera segura commits que ya están en la twig master remota y moverlos a otra twig?

Estoy trabajando en una function en este momento, que supongo que lo haré en una twig de featureX PERO me olvidé de crear esa twig y registrarme en ella. Eso causa un problema en este momento porque ese 2 commits ya está en la twig maestra remota de mi equipo (estamos usando BitBucket) así:

enter image description here

¿Cómo muevo d40ef79 y 5e13fd7 en la twig de featureX para poder seguir trabajando en esa twig de featureX y eliminar esos 2 commits de la twig master sin perder confirmaciones recientes creadas por mis compañeros de equipo ( 29ac4fb..1606c1a )?

Intento primera opción dentro de esta respuesta y no funciona para mí. También probé git cherry-pick dentro de la twig featureX (branch off from master) – tampoco funciona para mí.

La forma más simple es revertir.

git revert <SHA-1>

Deshace el commit de git. Revertir los cambios realizados por la confirmación dada.

reset and force push

 # reset the branch to the desinetworking commit git reset <SHA-1> 

También hay otras forms, pero son less recomendadas ( git push -f , git rebase , git filter-branch )


Cómo agregar la confirmación deseada en una twig diferente.

git cherry-pick <SHA-1>...<SHA-1>

Aplique el cambio introducido por el compromiso en la punta de la twig maestra y cree un nuevo compromiso (s) con este cambio.

La syntax de ... es un range de compromiso. tomar todas las confirmaciones desde el inicio (excluir) hasta el último.

enter image description here


Lea la documentation completa de git cherry-pick para todas las opciones que puede usar