Rama Hotfixes
Rama Hotfixes
Descripción
Una vez que se ha llevado a cabo una liberación a la rama master y esta versión forma parte del ambiente productivo del cliente, es posible que exista el reporte de nuevos bugs encontrados por los usuarios finales. Para corregir estos bugs y desplegar una nueva versión en el ambiente productivo, es que se utilizará la rama hotfixe, que ayudará a corregir errores que surgan en el ambiente de producción.
Rama de la que bifurca
master
Rama con la que se une
master
develop
Convención de nombrado
hotfix-[modulo-version]
Ejemplo:
hotfix-seguridad-v1.1.1hotfix-carrusel-v1.1.1
Lineamientos
- La rama
hotfixessólo existe mientras se está corriguiendo errores. - La rama
hotfixesexiste en el repositorio remoto. - La rama
hotfixeses creada y eliminada por el rol master. - La operación merge con la rama
mastery la ramadevelopsólo la pude llevar a cabo el rol master.
Si existe una rama release cuando ocurre un bug en producción, entonces:
- Los bugs corregidos en la rama
hotfixse deberán de unir a la ramareleasey no adevelop; la unión condevelopocurre cuando la ramareleaseestá lista para producción. Si el trabajo en la ramadeveloprequiere de manera inmediata el cambio realizado en la ramahotfix, entonces se puede lleva a cabo la operación merge dentro de la ramadevelop;
Diagrama

Comandos
Crear una rama hotfix
Las ramas hotfix son creados desde la rama master. Por ejemplo, si la versión que se liberó a producción fue la 1.2.0, y se detectan errores durante el uso del sistema y los cambios en la rama develop no son estables, entonces se pude crear una rama hotfix para atender los bugs y volver a liberar a producción.
git checkout -b hotfix-1.2.1 master
./bum-version.sh 1.2.1
git commit -a -m "Versión modificada a 1.2.1"
Durante este paso se deberán de corregir los bugs en uno o varios commits:
git commit -m "Resolviendo bugs de producción"
Finalmente, se lleva a cabo un merge tanto a la rama master como a la rama develop,
Operación merge en la rama master:
git checkout master
git merge --no-ff hotfix-1.2.1
Nota Se puden utilizar las opciones-s o -u para firmar nuestro tag.
Operación merge en la rama develop:
git checkout develop
git merge --no-ff hotfix-1.2.1
Nota en caso que exista una rama de release los cambios en la rama hotfix deberán de unirse también en la rama release, en lugar de develop.
Eliminación de la rama temporal:
git branch -d hotfix-1.2.1
