Acerca de git-flow
git-flow es un conjunto de extensiones para git que proveen comandos de alto nivel para operar repositorios para el model de ramificaciones de Vincent Driessen. más
★ ★ ★
Este ayudamemoria de las operaciones básicas de git-flow explica los comandos y sus efectos.
★ ★ ★
Consejos básicos
- Git flow provee una excelente ayuda en la línea de comando y e información. Lée con atención lo que sucede...
- El cliente para OSX Sourcetree es una excelente GUI para git y tiene soporte para git-flow
- - Git-flow funciona basándose en conciliaciones (merge). No cambia utiliza cambios de base para la ramificación de características (branch rebase).
★ ★ ★
Configuración
- Un prerequisito es una instalación de git en funcionamiento.
- Git flow funciona en OSX, Linux y Windows
★ ★ ★
OSX
$ brew install git-flow
Linux
$ apt-get install git-flow
Windows (Cygwin)
$ wget -q -O - --no-check-certificate https://github.com/nvie/gitflow/raw/develop/contrib/gitflow-installer.sh | bash
Necesitarás wget y util-linux al instalar git-flow.
Para instrucciones de instalación detalladas por favor visite la wiki de git flow
Introducción
Git flow necesita ser inicializado para poder alterar la configuración del proyecto.
★ ★ ★
Inicialización
Inicie git-flow inicializándolo desde dentro de un repositorio git existente:
git flow init
Deberá contestar algunas preguntas relacionadas con las convenciones de nombres para las ramas.
Se recominda utilizar los valores predeterminados.
Características
- Desarrolle características para futuras versiones
- Es típico que sólo se use en los repositorios para desarrollo
★ ★ ★
Comenzar una nueva característica
El desarrollo de nuevas características comienza en la rama 'develop'.
Comienze una nueva característica usando
git flow feature start MYFEATURE
Esta acción crea una nueva rama derivada de 'develop' y luego cambia el código a esta rama.
Terminar una característica
Termina de trabajar una característica. Esta acción realiza lo siguiente:
- Concilia MYFEATURE en 'develop'
- Borra la rama MYFEATURE
- Establece como versión de trabajo la rama 'develop'
git flow feature finish MYFEATURE
Publicar una característica
¿Estás trabajando colaborativamente?
Publica una característica a un servidor remoto así puede ser vista por otros.
git flow feature publish MYFEATURE
Obteniendo características publicadas
Descarga una característica publicada por otro y sigue sus cambios.
git flow feature pull MYFEATURE
Publica una versión
- Prepara una versión para producción
- Permite arreglos menores y la preparación de los meta-datos para la publicación
★ ★ ★
Comienza una publicación
Para comenzar una publicación, usa el comando git flow release. Creará
una rama para una nueva versión derivada de 'develop'.git flow release start RELEASE [BASE]
Opcionalmente, usa [BASE]
indicando la código sha-1 el cambio desde la cual comenzar al versión. El cambio debe ser parte de la rama 'develop'.
★ ★ ★
Es apropiado publicar la rama de la versión después de crearla para permitir que otros desarrolladores envíen cambios para esta versión. Hazlo de forma similar a publicar características:
git flow release publish RELEASE
(Puedes seguir versiones publicadas utilizando el comando git flow release track RELEASE
Da cierre una publicación
Dar cierre a una publicación es un gran paso. Realiza varias acciones:
- Concilia la rama de la versión con la rama 'master'
- Etiqueta el cambio con su nombre
- Re-concila la versión con la rama 'develop'
- Borra la rama de la característica
git flow release finish RELEASE
Revisiones
- Las revisiones surgen de la necesidad de actuar inmediatamente cuando la versión ejecutándose en producción se encuentra en un estado que no deseamos
- Puede ramificarse desde la versión correspondiente etiquetada en la rama 'master' que corresponda a la versión en producción.
★ ★ ★
git flow hotfix start
Como otros comandos de git flow, una revisión se abre con
git flow hotfix start VERSION [BASENAME]
El argumento de la versión determina el nombre de la revisión. Opcionalmente, puedes agregar un nombre para la base desde la cual comenzar.
Cierra una revisión
Al cerrar una revisión, esta se concilia en las ramas 'develop' y 'master'. Luego, el cambio en 'master' es etiquetado con el nombre de la revisión.
git flow hotfix finish VERSION
Tareas pendientes
★ ★ ★
- Aquí no se han cubierto todos los comandos disponibles, sólo los más importantes
- Aún puedes usar todos los comandos de git normales como los conoces, git-flow sólo es una herramienta más que puedes agregar a tu colección.
- La característica 'support' aún es beta, no se recomienda usarla
- Si quieres proveer traducciones, serán bien recibidas.
★ ★ ★