Manera fácil de cambiar / intercambiar git checkins entre 2 twigs

Hice una implementación para una function en develop-branch. Funcionó bien, pero luego se me ocurrió una alternativa interesante. Me ramifiqué desde el check-in de develop-branch antes de que la function checkin on se desarrollara para implementar la alternativa.
Ahora decidí que mi alternativa es la mejor implementación. Pero no me gustaría perder la primera implementación. Mis twigs ahora se ven así:

ramas

Me gustaría continuar en "desarrollo" -branco y mantener la primera implementación en la twig "nueva vista".
¿Hay alguna manera más fácil que de alguna manera preservar los cambios de cada twig? Deshaga ambas confirmaciones de twig. Vuelva a aplicar los cambios a la twig correcta y regístrese de nuevo? Eso suena como una gran cantidad de tareas propensas a errores.

¿Puedo decirle a git que tome 1st commit y lo ponga en la twig "newoverview" y 2nd commit para ponerlo en la twig "develop"?

Ann: Mi repository también tiene una twig principal. Pero este solo obtendrá cambios fusionados cuando haya terminado y solo desde la twig de desarrollo. Todas las demás twigs tampoco se envían al server. ellos son solo localmente

pago a la twig de desarrollo

git checkout develop 

crea una nueva twig además de develop para save los resultados. ¡No pagues!

 git branch alternative 

Reduzca el desarrollo a antepasado común con newoverview, que parece ser el commit anterior.
Si no es la confirmación anterior, utilice SHA de antecesor común en vez de HEAD ^

 git reset --hard HEAD^ git reset --hard abcd1234 

fusionar la nueva característica en desarrollar.

 git merge newoverview 

si algo sale mal, utilízalo para restaurar SHA de commits perdidos

 git reflog