Git Flow

¿Qué es Git Flow?

A lo largo de nuestra jornada de trabajo necesitaremos ejecutar varias veces al día los comandos git, merge, push y pull así como hacer checkouts de diferentes ramas, borrarlas, etc.

Git Flow son un conjunto de extensiones que nos ahorran bastante trabajo a la hora de ejecutar todos estos comandos, simplificando la gestión de las ramas de nuestro repositorio.

Ramas en Git Flow

Master –> Cualquier commit que pongamos en esta rama debe estar preparado para subir a producción.  Cada vez que se incorpora código a master, tenemos una nueva versión.

 

Develop –> Está el código que conformará la siguiente versión planificada del proyecto.

 

Feature –> Funcionalidades nuevas de la aplicación.

.- Origen:  develop

.- Merge con:  develop

.- Nombre:  cualquiera que no sea master, develop, hotfix-* o release-*

 

Release –> Se prepara el siguiente código en producción. En estas ramas se hacen los últimos ajustes y se corrigen los últimos bugs antes de pasar el código a producción incorporándolo a la rama master.

.- Origen:  develop

.- Merge con:  master y develop

.- Nombre:  release-*

 

Hotfix –> Corregir errores y bugs en el código en producción.

.- Origen:  master

.- Merge con: master y develop

.- Nombre:  hotfix-*

 

Support –> ?¿

.- Origen:  

.- Merge con:

.- Nombre:  

 

Uso de GIT FLOW

Instalación

Inicializar un proyecto con Git Flow

Al ejecutar git flow init nos pregunta el nombre de las ramas master y develop y demás ramas, dejamos todo por defecto.

Al realizar este comando realiza todas estas acciones por nosotros:

  • Crea la rama master
  • Crea la rama develop
  • Nos pasa a la rama develop

Esto nos creara las ramas master y develop y nos colocara en la rama develop.

Inicializar una feature nueva

Al realizar este comando realiza todas estas acciones por nosotros:

  • Crea una nueva rama a partir de develop
  • Nos pasa a la rama creada

Ahora trabajamos en nuestra rama, realizamos nuestros commits….

Terminar feature

Al realizar este comando realiza todas estas acciones por nosotros:

  • Se mergea la rama feature con develop
  • Borra la rama feature
  • Nos pasa a la rama develop

 

 

 

Links:

CategoríasGit