Skip to content

Git workflow

Ilya Kabushko edited this page Apr 19, 2019 · 4 revisions

Git workflow (flujo de trabajo ramificado)

Rama master

Apunta al último commit de producción, a la última versión de código liberado.

Características

  • No se trabaja directamente con esta rama
  • Solo se le hacen subidas forzadas a la rama
  • Cada tag apunta a una liberación/release de código. Esta rama apunta a la última release de todas

Rama develop

Es la rama principal del proyecto, la rama de desarrollo. Siempre se tiene que mantener estable, con código que cumpla los requisitos de calidad, y con los tests superados.

Ramas issue#XX

Estas ramas sirven para añadir nuevas funcionalidades o mejorar el código. Para ello se bifurca de la versión mas reciente de la rama develop, se añade el código nuevo, y cuando es un código estable y pasa los tests se mergea a develop.

Características

  • Siempre se parte de la versión mas reciente de develop
  • Una vez que el código pasa los test, esta refactorizado, se mergea a develop git merge issue#XX --no-ff y se abandona la rama.

Ramas release#XX

Esta rama se utiliza para preparar el código para una release, estabilizar el código para salir a producción. Una vez estabilizado se mergea con la rama master.

Características

  • Tiene 2 dígitos, mientras que el tag tiene 3 dígitos.
  • Cuando se han hecho los cambios se libera el código. Si hay un fallo en la liberación se usan las rama hotfix#xx que parte de la release para solucionar el fallo. Luego se vuelve a liberar el código cambiando el tercer dígito de la versión liberada. v1.0.0 -> v1.0.1
  • ver releases para más información.

Ramas hotfix#XX

Se utilizan para corregir errores (bugs) de código ya en producción.

Clone this wiki locally