En git, ¿cómo elimino una confirmación de una twig y la aplico a una twig diferente?

Tengo dos twigs fuera de maestro, cada una para una característica diferente, y luego tengo una twig de síntesis que combina los dos. He dedicado algo a la twig de síntesis, pero ahora veo que preferiría aplicar ese cambio a una de las twigs propias de esa característica. ¿Hay alguna manera de hacer esto? Desaplicar / aplicar en otro lugar la maniobra con git?

Cherry-pick se compromete con la twig de destino y restablece la twig de origen. Suponiendo que desea mover la última confirmación de la twig de source a target , haga lo siguiente:

 git checkout target git cherry-pick source git checkout source git reset --hard source^ 

Si la confirmación no fue la última, tendrá que usar git rebase -i lugar del último command y elegir el nombre de commit específico para su cherry-pick .

En general, cuando hago algo como esto, voy a:

  1. Cree un file de parche inverso usando git diff (por ejemplo, git diff HEAD^ HEAD )
  2. Aplique este parche inverso a la twig de la que quiero eliminar el cambio.
  3. Echa un vistazo a la sucursal. QUIERO que cambie.
  4. Usa git cherry-pick para aplicar el compromiso aplicable

Creo que hay una manera más fácil, pero prefiero esto porque uso (y recuerdo) los commands diff / cherry-pick mejor