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.

