Rama Release
Descripción
La rama “release” se debe utilizar para la preparación de una nueva entrega en el ambiente de producción. Esta rama es útil para corregir pequeños defectos y preparar los metadatos que deberá llevar la próxima entrega (número de versión, fecha de compilación, etc.). El beneficio de tener una rama de entrega release radica en el hecho de que podemos conservar la rama develop limpia y lista para recibir nuevas versiones que se tendrán que integrar a la rama master. Adicionalmente, la rama release será utilizada por el equipo de QA para probar la entrega antes de que esta llegue a producción.
Rama de la que bifurca
develop
Rama con la que se une
develop
master
Convención de nombrado
El nombrado de esta rama se deberá de apegar a lo establecido en [AGIS] y la propuesta en esta sección:
Nomenclatura obligatoria: release-*
Ejemplo:
release-seguridad
release-carrusel
Lineamientos
-
El mejor momento para crear una ramificación de develop es cuando el desarrollo refleja el estado deseado de una nueva entrega.
-
Todas las funcionalidades o características que se esperan mostrar en la próxima entrega deberán de unirse a la rama de develop.
-
Es exactamente al comienzo de la creación de esta rama en que se asigna una versión. Es hasta ese momento que la rama develop refleja los cambios para la siguiente entrega, pero no es claro si esa nueva entrega eventualmente se convertirá en la versión 0.3 o 1.0. La notación para el versionamiento de código es la descrita en Semantic Versioning 2.0.0
Diagrama
Comandos
Creación de la rama de entrega release-1.2
git checkout -b release-1.2 develop
Una vez que se a trabajo en la nueva rama, para actualizar los cambios en la rama develop primero tenemos que regresar a la rama develop y partir de allí llevar a cabo una unión (merge):
./bump-version.sh 1.2
Unir las modificaciones hechas en la rama feature dentro de la rama develop:
git commit -a -m "Bumped version number to 1.2"
Cambiarnos a la rama de master:
git checkout master
Unir los cambios de la rama release1.2 con master:
git merge –no-ff release-1.2
Enviar los cambios a la rama develop
git tag –a 1.2