Si intenta seguir el modelo de ramificación de git-flow, documentado aquí y con herramientas aquí , ¿cómo debe manejar esta situación?
Ha realizado una versión 1.0 y una versión 2.0. Entonces necesitas hacer una revisión para 1.0. Crea una rama de revisión a partir de la etiqueta 1.0 e implementa la revisión allí. ¿Pero entonces qué?
Normalmente, se fusionaría con master y colocaría una etiqueta de lanzamiento 1.1 allí. Pero no puede fusionar 1.1 a un punto después de 2.0 en el maestro.
Supongo que podría poner la etiqueta de lanzamiento en la rama de revisión, pero eso crearía una rama permanente al lado del maestro que contendría una etiqueta de lanzamiento. ¿Es esa la forma correcta?
Respuestas:
Parece que hay un concepto de rama de "soporte" en git flow. Esto se usa para agregar una revisión a una versión anterior.
Este hilo tiene más información , con estos ejemplos:
... haz tu solución, entonces:
o usando
git flow
comandos... haz cambios entonces:
fuente
¡Interesante pregunta! El flujo que vinculó asume que el maestro puede rastrear la producción. Eso solo funciona si las versiones de producción aumentan estrictamente. Eso suele ser cierto para un sitio web que tiene solo una versión de producción.
Si tiene que mantener varias versiones de producción, una rama para realizar un seguimiento de la producción no es suficiente. Una solución es no utilizar master para realizar un seguimiento de la producción. En cambio, las ramas del uso como
release1
,release2
, etc.En este enfoque, es posible que ni siquiera necesite una rama de revisión. Podría solucionar el problema en la
release1
rama. Cuando la solución sea lo suficientemente buena, cree unarelease1.1
etiqueta en larelease1
rama.fuente
git-flow
herramientas no son adecuadas si tiene que admitir varias versiones de producción. En el flujo de trabajo propuesto en esta respuesta, master no se usa en absoluto. Podría nombrar el maestro de la rama de desarrollo, después de todo, es solo un nombre.git-flow asume que solo admite una línea de lanzamiento a la vez, convenientemente rastreada por maestro. Si mantiene más de 1, deberá modificar el proceso de git-flow para tener múltiples rastreadores de sus versiones separadas que está apoyando (master-1, master-2). Puede continuar usando master para rastrear la línea de lanzamiento más reciente, además o en lugar de un rastreador específico para la línea de lanzamiento más reciente (master en lugar de master-2).
Desafortunadamente, cualquier herramienta de git-flow que pueda estar usando probablemente necesitará ser modificada, pero es de esperar que esté lo suficientemente familiarizado con el proceso de git-flow para manejar este caso específico directamente con los comandos de git.
fuente
git flow
proceso, será algo diferente. Si algún modelo debe ser reparado (no solo extendido), entonces es tan exitoso como afirma su autor. Consulte mi respuesta al tema que estamos discutiendo.git config --add gitflow.multi-hotfix true ¡Este comando parece funcionar para mí!
fuente