¿Cómo copyr un range de commits no fusionados a una nueva twig?

Tengo una feature/branch que en varios puntos fusionó la twig de develop en sí misma durante su historia. Quiero tomar todas las confirmaciones que no sean de fusión (es decir, solo las confirmaciones que se hicieron originalmente en la twig de características) y copyrlas en una nueva twig (en base al maestro) para que no tenga ningún compromiso exclusivo para el develop twig en la nueva twig.

He encontrado una forma de enumerar todas las confirmaciones que deseo, pero no estoy seguro de la mejor manera de copyrlas en la nueva sucursal. Para enumerar los commits que quiero, puedo ejecutar esto:

 git log feature/branch ^develop ^master --no-merges 

¿Cómo puedo get la list (range) de confirmaciones producidas por el copydo anterior en una nueva twig? Creo que cherry-pick o rebase es la solución, pero no he podido encontrar las opciones correctas para hacer esto después de probarlas de varias maneras. ¡Gracias!

En PowerShell

  git log feature/branch ^develop ^master --no-merges --format="%H" | ForEach-Object { git cherry-pick $_ } 

Sin embargo, el ciclo dejará de funcionar efectivamente en el primer conflicto.

Recomiendo usar un command de nivel de plomería para esto. Para un shell Unix:

 set -e -u git rev-list feature/branch ^develop ^master --no-merges \ | while read rev; do git cherry-pick "$rev"; done