Inicializando git flow...

Git Flow

Un modelo de ramificacion para Git que hace tu desarrollo mas organizado y tu equipo mas productivo.

master
develop
feature
release
hotfix
Scroll para explorar

Que es Git Flow?

Git Flow es un conjunto de extensiones para Git que proveen comandos de alto nivel para operar repositorios basados en el modelo de ramificaciones de Vincent Driessen.

💡 Consejos Basicos

  • Git Flow provee excelente ayuda en linea de comandos
  • Sourcetree (OSX/Windows) tiene soporte nativo para git-flow
  • Funciona basandose en fusiones (merge), no en rebase

Inicializacion

Git Flow necesita ser inicializado para alterar la configuracion del proyecto. Comienza desde un repositorio git existente.

# Inicializar git-flow en tu proyecto
git flow init
📋
Deberas contestar algunas preguntas sobre convenciones de nombres. Se recomienda usar los valores predeterminados.

📦 Instalacion

# macOS (Homebrew)
brew install git-flow-avh

# Linux (Debian/Ubuntu)
apt-get install git-flow

# macOS (MacPorts)
port install git-flow-avh

feature/ branches

Las ramas de caracteristicas se utilizan para desarrollar nuevas funcionalidades para futuras versiones. Parten de develop y se fusionan de vuelta a ella.

🚀 Comenzar una Feature

git flow feature start MYFEATURE

Crea una nueva rama derivada de 'develop' y cambia a ella.

✅ Finalizar una Feature

git flow feature finish MYFEATURE

Fusiona la rama en 'develop', la elimina y vuelve a 'develop'.

📤 Publicar una Feature

git flow feature publish MYFEATURE

Comparte tu feature con otros desarrolladores.

release/ branches

Prepara una version para produccion. Permite arreglos menores y la preparacion de metadatos para la publicacion.

📦 Comenzar un Release

git flow release start 1.0.0

Crea una rama de publicacion derivada de 'develop'.

🏁 Finalizar un Release

git flow release finish 1.0.0

Fusiona en 'master' y 'develop', crea el tag, y elimina la rama.

🏷️
No olvides hacer push de los tags:
git push --tags

hotfix/ branches

Los hotfixes surgen de la necesidad de actuar inmediatamente cuando hay un problema critico en produccion. Se ramifican desde master.

🔥 Comenzar un Hotfix

git flow hotfix start 1.0.1

Crea una rama de revision desde 'master' para arreglos urgentes.

✅ Finalizar un Hotfix

git flow hotfix finish 1.0.1

Fusiona en 'master' y 'develop', crea el tag y elimina la rama.

Todos los Comandos

Feature Commands

  • git flow feature start NAME Inicia nueva feature
  • git flow feature finish NAME Finaliza y fusiona
  • git flow feature publish NAME Publica en remoto
  • git flow feature pull origin NAME Obtiene feature remota
  • git flow feature track NAME Sigue feature remota

Release Commands

  • git flow release start VERSION Inicia release
  • git flow release finish VERSION Finaliza release
  • git flow release publish VERSION Publica release
  • git flow release track VERSION Sigue release remota

Hotfix Commands

  • git flow hotfix start VERSION Inicia hotfix
  • git flow hotfix finish VERSION Finaliza hotfix