Git flow feature resume

GIT FLOW


Cada rama tiene su propósito

Master : 

Es lo más estable en un proyecto, lo que normalmente se publica o se pone a producción. Está normalmente tiene tags para identificar los releases.

Develop :

 (-Entorno Pre-producción-)

Utilizado para el desarrollo de nuevas funcionalidades o cambios en general del código, podemos utilizar esta para ir trabajando y luego mergear a master. Pero normalmente como somos más de un desarrollador se crean ramas a partir de develop que son las Feature Branches

Feature : 

 (Pensada para el desarrollo -Entorno desarrollo-)

Esta rama es utilizada para trabajar en cambios o nuevas funcionalidades que luego se integran a develop, estas ramas ayudan cuando dos o más funcionalidades (Feature branches) impactaran sobre el mismo bloque de código... Entonces al trabajar en ramas distintas no nos chocaremos y el que integre último a develop debe actualizarse y arreglar los conflictos que se pueden haber producidos con los cambios de las demás features. El último que sube arregla los conflictos :)
Para subir a develop debemos crear una merge request!


Release: 

 (-Entorno producción-)

Entre develop y master puede existir una rama que es la que suele usarse en desarrollos mobile, Ejemplo de uso, se sube un nuevo release a producción en IOS. Como los tiempos de validación son lerdos, es bueno tener ramas con release porque en el caso que se descubra un error en release podemos hacer fixes y subir nuevo...
Esta rama nace en Develop y se integra en Release 

Hotfix:

Parte de máster y se puede integrar en master o develop. No es común pero suele usarse para arreglar errores muy críticos. No son recomendables para el buen flujo de trabajo y se tiene que tener muy en cuenta estar siempre actualizado antes de meter en master o develop.

Estrategias