En el momento en que git está haciendo mi cabeza, no puedo encontrar la mejor solución para lo siguiente.
Hay dos ramas, una llamada master y otra llamada mobiledevicesupport . Quiero mantener el soporte de dispositivos móviles como una rama continua que se fusionará / sincronizará con la rama maestra siempre que el soporte de dispositivos móviles sea estable. Esto fusionaría los cambios de mobiledevicesupport a master pero también traería todos los cambios de master a mobiledevicesupport para que la rama pueda continuar trabajando y las características mejoradas o modificadas. Esto necesita trabajar con un repositorio central y múltiples desarrolladores.
Por favor, un ejemplo de flujos de trabajo similares que otras personas usan o simplemente díganme si esta idea es estúpida y debería considerar otras opciones. Por el momento, el flujo de trabajo parece sólido, pero no sé cómo puedo hacer que git funcione de esta manera.
Gracias, toda la ayuda muy apreciada.
Actualización 1: si tuviera que fusionar master en mobiledevicesupport y mobiledevice support en master, ¿obtengo commits replicados en ambas ramas? ¿O es lo suficientemente inteligente como para darse cuenta de que he extraído los últimos cambios de la rama A a la rama B y agrego el compromiso de fusión C a la rama B. Y he extraído los últimos cambios de la rama B a la rama A y agrego el compromiso de fusión D a la rama ¿UNA?
Iba a publicar una imagen pero no tengo suficiente reputación, así que supongo que la siguiente ilustración tendrá que funcionar. Dos ramas se ejecutan continuamente con fusiones que van en ambas direcciones a menudo. La clave de la que no estoy seguro es cómo git desarrollará los commits y si llenará cualquiera de las ramas con los commits de la otra rama en las fusiones o se mantendrá limpio. He usado rebase antes, pero parece terminar la rama y poner todos los commits en el maestro, o lo hice mal. Gracias por la ayuda hasta el momento.
master
A--B--C-----H--I--J--M--N
\ / \
mobile \ / \
D--E--F--G--------K--L