He migrado varios de mis proyectos al flujo de trabajo de git flow, y me encanta. Sin embargo, no he encontrado una mejor práctica que haga que las cosas fluyan sin problemas al trabajar con un proyecto en el que se mantiene más de una versión principal a la vez.
Específicamente, no estoy manteniendo una "versión gratuita" y una "versión paga" o cualquier otro modelo paralelo, estoy hablando de un proyecto en el que se lanza la Versión 1, y sigue siendo compatible con versiones menores (1.1, 1.2, etc. .) hasta que se haya lanzado la Versión 3, momento en el que se mantendrían los puntos 2 y 3, hasta que se lance 4 ... entiendes la idea.
¿Cómo ha mantenido o mantendría dos o más versiones compatibles de un proyecto a la vez en un flujo de trabajo de gitflow?
Respuestas:
man gitworkflows
, el abuelo del flujo de trabajo 'git flow', describe las pautas generales del flujo de trabajo git; el uso depu
,next
,master
ymaint
ramas; y comomaint
se gestiona. Si tiene varias ramas de mantenimiento, se puede nombrar, por ejemplo,maint/1.x
,maint/2.x
y así sucesivamente.La clave no es tanto cómo usar los comandos git, sino cómo construir un proceso razonable. Decida qué cosas son importantes para usted (¿facilidad para hacer backporting?) Y cree (y documente) un flujo de trabajo que satisfaga esas limitaciones.
fuente
Básicamente, duplicaría el
master
,release
y lasdevelop
ramas para cada versión principal que esté manteniendo. La forma en que interactúan entre sí sigue siendo la misma. Porfeature
ramas, sólo asegúrese de que la rama de la rama más antigua que la intención de fusionar la espalda en , lo que impide tirando en las dependencias no deseadas. Luego, cuando vuelvas a fusionar tufeature
rama, solo haces fusiones adicionales en cada rama más nueva y apropiada de la versión principal.fuente