En la comprensión de GitHub Flow, como se ve aquí , una característica, después de la revisión del código, primero se implementa en producción, luego se fusiona en master.
Si hay una segunda característica ramificada de la misma confirmación que la primera característica, y que también se implementa directamente en producción, entonces la producción ya no contendrá la primera característica.
hecho en learngitbranching.js.org
Una vez que se implementa c2, ¿cómo se puede implementar c3 antes de fusionarse con c2 o c4?
¿Cómo maneja GitHub Flow este problema?
Una solución obvia sería exigir que una característica se vuelva a crear en el maestro antes de implementarla en producción. Sin embargo, esto es propenso a errores humanos. Si uno olvida cambiar la base, ahora a la producción le falta una característica.
Agradecería especialmente las respuestas de aquellos que tienen experiencia en el uso de GitHub Flow. ¿Cómo no tienes este problema?
¿Te ha sucedido este problema o es una pregunta teórica?
Git es "lo suficientemente inteligente" cuando se fusiona para presionar solo el código modificado, si hay "problemas", le dará un conflicto de fusión.
Cada nueva característica se basa en la rama de desarrollo, no basamos las características en otras características.
Una cosa que hacemos para minimizar los conflictos de fusión es fusionar con frecuencia y antes de comenzar una función, siempre obtenga el último desarrollo. (nunca nos comprometemos con master sino con una rama de desarrollo, que se fusionará de vez en cuando con la rama master)
fuente