Primero, algunos antecedentes, estamos en el proceso de mover a todos nuestros equipos de proyecto a usar git y estamos en el proceso de establecer las pautas sobre cómo deben organizarse los repositorios para que ciertas sucursales también puedan ser monitoreadas para una integración continua y Despliegue automático a los servidores de prueba. Actualmente hay dos modelos que se están desarrollando:
Fuertemente influenciado por el artículo de nvie.com sobre la ramificación exitosa con la rama maestra que representa el código más estable, una rama de desarrollo para el código de última generación y una rama de integración para el código que está listo para la prueba de control de calidad.
Un modelo alternativo en el que la rama maestra representa el código de desarrollo de última generación, una rama de integración para el código que está listo para las pruebas de control de calidad y una rama de producción para el código estable que está listo para la implementación.
En este punto, es en parte una cuestión de semántica con respecto a lo que representa la rama maestra, pero ¿es realmente una buena práctica hacer un desarrollo activo en la rama maestra o no es realmente tan relevante?