Recientemente comencé a trabajar con el modelo GitFlow implementado por bitbucket. Y hay una cosa que no me queda completamente clara.
Intentamos abordar regularmente nuestra deuda técnica acumulando, planificando e implementando las tareas de refactorización. Dichas ramas de refactorización terminan con solicitudes de extracción que se fusionan develop
. Mi pregunta es ¿a dónde pertenecen las ramas de refactorización en GitFlow ?
- El uso del
feature
prefijo parece lo más lógico, sin embargo, no parece del todo correcto, porque la refactorización no agrega ninguna funcionalidad nueva. - Sin embargo, el uso del
bugfix
prefijo no parece correcto, así como tampoco hay correcciones reales de refactorización de errores. - Crear un prefijo personalizado, por otro lado, parece complicado si no se hace una ingeniería excesiva de las cosas.
¿Tuviste tal situación? ¿Qué práctica utilizas para abordar esto? Por favor explique por qué.
refactor
, entonces está claro qué transformación se espera que haga cada fusión al producto (corrección de errores: corregir el comportamiento roto, característica: agregar un nuevo comportamiento, refactorizar: conservar el comportamiento anterior). Pero @MrCochese tiene razón, realmente debería ser parte del otro trabajo que está haciendo, no una tarea separada. Tenga en cuenta también que si sus refactores rompen la construcción, ¡ no son refactores!Respuestas:
El trabajo de refactorización debe ir en una rama de características.
El prefijo "característica" es solo una palabra para describir una tarea de programación discreta, puede elegir cualquier palabra que desee, cualquier rama del desarrollo es una rama "característica" o una rama "lanzamiento"
Agregar un nuevo prefijo como "refactorizar" es problemático. Como a menudo refactorizará al agregar una función, simplemente se está dando un problema de nomenclatura y agregando confusión. es decir. "Algunas de nuestras ramas de características se denominan 'refactorización', no, no contienen todo el trabajo de refactorización y a veces tienen correcciones de errores o características '
de manera similar, las ramas "hotfix" no se llaman hotfix porque contienen hotfix, sino porque se ramifican desde el maestro en lugar de desarrollarse
fuente