Sincronizando dos twigs de GIT que solo difieren en un par de files

Tengo un par de twigs definidas para el proyecto actual donde todas las twigs, excepto la principal, difieren del maestro solo por el mismo pequeño set de files (less de diez).

Después de implementar una nueva característica en el maestro, me gustaría replicar esos cambios y adiciones a las otras twigs con el mínimo esfuerzo. ¿Cuál es el enfoque recomendado aquí?

Tienes tres opciones:

  • merge : interesante si todos los cambios de master deben ser visibles en una twig, pero ese no es siempre el caso

  • cherry-pick : solo aplicar cierto compromiso a una twig

  • rebase : la mejor solución si su twig aún no ha sido empujada : vuelve a jugar la confirmación de su twig sobre la maestra

Pero: en los tres casos, debe verificar la sucursal donde desea integrar los cambios, y repita eso para cada twig.

A less que tus twigs estén hechas de una a otra:

 ---o branch B1 \ ----o branch B2 \ ----o branch B3 

En ese caso, podrías:

  • solo combine los cambios en la twig más específica (B3 aquí), como se recomienda en estas Preguntas frecuentes
  • termina tu trabajo en B3
  • luego, se fusiona en la twig padre B2 (si no hubo evoluciones en B2, esto es en realidad una fusión rápida)
  • repita para B1 (es decir: termine su trabajo en B2, git checkout B1 , git merge B2 )

Normalmente, cuando corrijo algo importante en una twig (incluso puede ser maestro), y si quiero que la misma corrección se replique en otra twig, hago la git checkout my_latest_feature y git merge --no-commit master

Nunca he intentado seleccionar cereza , pero creo que esa es la mejor manera que supongo, ya que cherry-pick solo fusionará ese cambio específico y git merge --no-commit master intentará get todo el tree (incluso otras confirmaciones además de la última fijar).

Siempre odio cualquier command que manipule el historial de compromisos. Esa es la razón por la que nunca rebase

Actualización: acaba de encontrar esta pregunta similar: ¿Cómo copyr las confirmaciones de una twig a otra?