Mantener una twig alternativa actualizada con

Tengo un repository que tiene dos twigs: common y alt . La twig common contiene la versión del código que es el caso de uso más común para la mayoría de las personas. La twig alt tiene una versión del proyecto donde algunas cosas se configuran de manera diferente, pero la mayoría de las cosas son las mismas que en common .

Hasta ahora, he estado desarrollando felizmente en mi máquina aplicando correcciones de errores y desarrollo a la twig common y luego volviendo a basar esos cambios en alt . alt tiene algunos compromisos que no vuelvo a tener en common . Estos cambios son totalmente perpendiculares a los cambios en common ya que alt solo agrega y elimina algunos files.

Para dar un ejemplo, así es como podría verse el código justo después de haber cambiado algunas cosas en common pero aún no las volví a poner en alt .

 A -- B -- C -- F (common) \ `-- D -- E (alt) 

y después del rebase:

 A -- B -- C -- F (common) \ `-- C --- F -- D -- E (alt) 

Sin embargo, recientemente he puesto el proyecto en github, publicando ambas twigs allí. Parece que ya no puedo usar rebase para mantener al día actualizado, ya que cada vez que lo hago:

  • editar algo en common y comprometer
  • checkout alt y git rebase common
  • git push github alt

Esto dice que la twig local de alt está quedando atrás en el remoto, ahora siempre necesito tirar y fusionar primero. Esto crea una gran cantidad de confusiones de fusión de desorder que siento que no deberían ser necesarias (sus diferencias están vacías).

¿Cómo puedo administrar mejor mis twigs para que los cambios en common puedan ser arrastrados a alt y para que pueda mantener tanto el common como el alt en github también?

Solutions Collecting From Web of "Mantener una twig alternativa actualizada con"

Yo recomendaría echar un vistazo en gitflow
http://nvie.com/posts/a-successful-git-branching-model/

Este flujo de trabajo está diseñado para responder al flujo de trabajo como el suyo, donde debe realizar algunos cambios en varias twigs.

¿Cómo?

El gitflow es simplemente un set de scripts que puedes configurar como desees de acuerdo a tus necesidades.

Los scripts pnetworkingeterminados (flujo de trabajo) se describen en la siguiente image:

enter image description here