---
title: "Flujo Git"
canonical: "https://onesaitplatform-es.refined.site/space/DOC/2216103571/Flujo%20Git"
format: markdown
---
En Plataforma, usamos *[GitLab](https://onesait-git.cwbyminsait.com/onesait-platform/onesait-cloud-platform)* como repositorio de código y *GitFlow* como metodología o flujo de trabajo, siguiendo el siguiente esquema de ramas:

- **master**: Rama estable de código, a partir de esta rama se generan las ramas de *releases estables* dentro del quarter.
- **develop**: Rama de nuevas funcionalidades programadas dentro del Q, de acuerdo al roadmap de producto. Esta rama se *mergea* finalizado el Q a master una vez estabilizada y probada.
- **stable** (release candidate): Rama generada a partir de master, destinada a la corrección de bugs y mejoras, esta rama se despliega semanalmente en el entorno estable y se mergea tanto a *master* como a *develop.*

![image](media://962dac05-f6d1-4116-9e85-f4c632ea0c8e)

Cada funcionalidad nueva, corrección de un bug o mejora lleva asociada la correspondiente *Issue* en GitLab etiquetada como FEATURE, BUG o UPTURN.

![image](media://f6a77ae4-ed87-41a4-9fb4-3a45b797e45f)

La issue lleva asociada una rama de desarrollo y una breve descripción:

![image](media://997cbae2-ada1-4ae0-8473-5a3eae8ec7f5)

Además la *issue* debe ir asociado al milestone correspondiente (semanal si es una release candidate o RC) o trimestral si está destinada al cierre del Q.

![image](media://bf1fd343-406b-44d6-989d-d7b187e2de81)

Una vez terminado el desarrollo se genera una *pull request* o petición para mergear la rama a **develop** o la rama **stable**, para ello desde GitLab se crea la correspondiente petición.

![image](media://cb837c09-3490-4e75-98a5-1962f3d2f947)

Marcaremos el check de borrar la rama origen una vez *mergeada*:

![image](media://e683cf96-2aeb-4486-8e64-3c7bc102dbe0)

y se asigna a un miembro del equipo, por normal general más senior.

![image](media://2413b7e8-eecd-4ede-ac6f-905aef5530be)

Una vez probada y validada la issue en el entorno correspondiente, esta debe pasar a estado cerrado:

![image](media://48ad37d7-e704-4894-879d-e8349ed5e173)