Tome las últimas N confirmaciones de la twig actual y aplíquelas a otra twig

Esta es mi situación:

  • Estoy en la twig master
  • Desde la twig master , se creó la feature1
  • Se agregaron varios commits a feature1 y se agregaron otros commits al master
  • Ahora, quiero tomar SOLAMENTE los últimos N commits desde feature1 y aplicarlos al master .

Quiero ir de esto:

  (branch) feature1: f1 > f2 > f3 > f4 / (branch) master: A > B > C > D 

A esto:

  (branch) feature1: f1 > f2 > f3 > f4 / (branch) master: A > B > C > D > f3 > f4 

Puedes observar los últimos hash de tus commits ejecutando

git log -N donde N es el número de hashes de confirmación que desea ver.

y luego puedes hacer

git cherry-pick {firstHash}^..{lastHash} donde {firstHash} y {secondHash} son el punto inicial y final de tu cherry-picking, es como el intervalo cerrado [firstHash, lastHash], por lo que todos los commits intermedios serán tomado también.

Nota: firstHash debe presentarse antes de lastHash por razones obvias.

si no quieres que se comprometan y solo quieres el contenido de ellos, puedes hacer

git cherry-pick {firstHash}^..{lastHash} --no-commit

En su caso, si consideramos (f1, f2 ..) come hashes, esto debería hacer el ejercicio:

 git checkout master git cherry-pick f3^..f4 

Si hay conflictos de fusión tendrás que resolverlos y llamar a git cherry-pick --continue (a veces git bash es obstinado al respecto y no te muestra eso) para poder continuar con la siguiente confirmación.

En cualquier caso, debe consultar la documentation de cherry pick como se menciona en @Erhan – https://git-scm.com/docs/git-cherry-pick

usted puede seleccionar selectivamente commits en master:

https://git-scm.com/docs/git-cherry-pick