Últimamente he notado algo al ver algunos proyectos populares en GitHub, que no hay una rama develop
. Y, de hecho, la guía de flujo de GitHub tampoco lo menciona. A mi entender, master
siempre debe ser totalmente estable y reflejar la producción. Si los desarrolladores están trabajando en las ramas de características, y luego las unen en master
cuando terminan, eso significa que hay un período de tiempo en el que las características / correcciones se fusionan en master
y la rama master
es en realidad más nueva que producción.
¿No tendría más sentido que el equipo creara ramificaciones de características / arreglos a partir de develop
, se fusione nuevamente con eso, y luego cuando la próxima versión esté totalmente lista para el lanzamiento, develop
se fusione en master
y se crea una etiqueta? Imagínese si las personas se fusionan directamente con master
, y se informa de un error en la producción que se vuelve difícil de solucionar porque el código base de la rama master
ha cambiado significativamente. Luego, los desarrolladores solo tienen que decirle al usuario que espere hasta la próxima versión para ver el problema resuelto.
EDITAR: esta pregunta es diferente a "ramificar o no ramificar". Se dirige específicamente a las personas que se alejan del uso de la rama de desarrollo y las razones que lo rodean, ya que se promocionó como una buena práctica durante mucho tiempo.