Mi compañía está usando Git y está usando un esquema de ramificación peculiar: el trabajo se realiza en master y las ramas están reservadas para lanzamientos. Esto funciona bien, siempre que todo el trabajo realizado en una iteración llegue a la rama, pero si surge un problema de producción crítico, tenemos que asegurarnos de que el trabajo de alguna manera llegue a ambas ramas.
Últimamente, nos hemos estado divirtiendo con esas ramas. Ha sido un dolor de cabeza administrativo, garantizar que todo el trabajo llegue a cada rama, y algunos errores que se han corregido en una rama no lo convierten en maestro hasta que alguien lo señala, lo cual es preocupante.
Me encontré con Git Flow hace un tiempo, y siento que sería una solución a nuestro problema: el código no se filtra hasta el lanzamiento o hasta el final. El único inconveniente es que mi líder declaró que este tipo de desarrollo fue un antipatrón: se desarrolló furiosamente durante dos semanas y luego pasó tres para resolver los conflictos de fusión.
No estoy completamente seguro de estar de acuerdo, y desde que lo mencioné, el trabajo se ha reanudado normalmente. Solo recientemente hemos tenido algunos puntos importantes de dolor con esto.
Me gustaría saber: ¿por qué este tipo de esquema de desarrollo se considera un antipatrón? ¿ Es realmente un antipatrón?