Git eliminar la característica pero retener para otra twig

Tengo un montón de confirmaciones en un historial de compromiso lineal. En algún momento agregué una function que fue útil para probar pero que no debería estar en producción. Ahora me gustaría dividir una twig de testing con esa característica, pero me gustaría poder volver a establecer las testing en el master en el futuro para mantenerlo actualizado. Así que mis commits actuales se ven así:

 ABCDE 

Mi solución fue agregar otra confirmación F al master que elimine la característica. Luego crea una testing ramificación y revierte el compromiso F :

 # Do work to remove feature git commit -a -m "F" git checkout -b testing git revert master 

Así que ahora mi historial de commit se ve así:

 ABCDEF (master) \ F' (testing) 

Donde F' es la reversión de F

¿Es esta la mejor manera de hacerlo? ¿Hay algo más fácil que me estoy perdiendo?

No estoy seguro de que mi forma de hacerlo sea más fácil, pero prefiero la forma en que deja mi historia.

Puede realizar una rebase interactiva para reorderar las confirmaciones , poniendo su compromiso de testing en la parte superior.

A continuación, puede crear una nueva twig de testing de su maestro, que ahora tiene esa confirmación en la parte superior.

Luego puede volver a establecer la base de su maestro o simplemente restablecer el puntero, para descartar esa parte superior de la twig maestra.