Dentro de la idea inicial de tener el blog estaba meter pequeños apuntes de prácticas que utilizo o empiezo a utilizar y tenerlas organizadas en el blog para poder acceder a ellas rápidamente y si fuera el caso compartirlas para quien lo necesitara.
Hoy el tema es git-flow, si ya trabajas con git esto te ayudará a tener definido un flujo de trabajo con git y las branches de tu proyecto.
Mi primer contacto con git-flow fue a través del post de Vincent Driessen y la "foto" que refleja toda la estrategia de branching:
Instalación
Teniendo git instalado en tu equipo, la isntalación de git-flow es muy sencilla a través de Homebrew...sí, voy a explicarlo para Mac que es lo que uso y al final esto es un recordatorio de mi trabajo ;)
brew install git-flow
Inicialización
Para inicializar un nuevo repositorio con una estructura de branches básica, utiliza:
git flow init [-d]
Este comendo te preguntará interactivamente algunas preguntas en tu consola sobre qué branches te gustaría usar como desarrollo y producción, y cómo vas a nombrar los prefijos que vas a utilizar. Las sugerencias por defecto son bastante válidas, así que recomiendo dejarlas como están.
La bandera -d aceptará todos los valores por defecto.
Creando branches feature/release/hotfix/support
Para listar/empezar/acabar branches de tipo feature, usa:
git flow feature
git flow feature start <name> [<base>]
git flow feature finish <name>
Para branches de tipo feature, el argumento < base > debe ser un commit a desarrollo.
Para hacer push/pull de un feature branch al repositorio remoto:
git flow feature publish <name>
git flow feature pull <remote> <name>
Para listar/empezar/acabar branches de tipo release:
git flow release
git flow release start <release> [<base>]
git flow release finish <release>
Para branches de tipo release, el argumento < base > debe ser un commit a desarrollo.
Para listar/empezar/acabar branches de tipo hotfix:
git flow hotfix
git flow hotfix start <release> [<base>]
git flow hotfix finish <release>
Para branches de tipo hotfix, el argumento < base > debe ser un commit a master.
Para listar/empezar branches de soporte, use:
git flow support
git flow support start <release> <base>
Para branches de tipo support, el argumento < base > debe ser un commit a master.
Y hasta aquí esta pequeña guía de comandos de git-flow.