Git es un sistema de control de versiones más usado por los desarrolladores de software
Git Flow es un modelo, una estrategia y también un workflow muy utilizado por los equipos de desarrollo y programación. Este se destaca por ayudar en la organización de la versión de un código
- Aumenta la velocidad de entrega de código terminado al equipo de pruebas
- Disminuyen los errores humanos en la mezcla de las ramas.
- Elimina la dependencia de funcionalidades al momento de entregar código para ser puesto en producción
El proceso de instalación de git-flow es sencillo. algunos paquetes, estan dispoibles en varios sistemas operativos, asegurate de tener instalado git bash.
Para comprobar que tengas instalado la extención abre una terminal de git bash
y ejecuta lo siguiente:
git flow
Esto desplegará una lista de comandos disponibles para utilizar.
Para iniciar a utilizar git flow
deberás ubicarte en la carpeta raíz de tu proyecto.
utilizaremos como ejemplo el siguiente directorio. C:/xampp/htdocs/pruebas
- Iniciar con la extensión
git flow init
Este comando mostrará las ramas que se crearán para el desarrollo del proyecto
Which branch should be used for bringing forth production releases?
- master
Branch name for production releases: [master]
Branch name for "next release" development: [develop]
How to name your supporting branch prefixes?
Feature branches? [feature/]
Bugfix branches? [bugfix/]
Release branches? [release/]
Hotfix branches? [hotfix/]
Support branches? [support/]
Version tag prefix? []
Todas las funciones nuevas deben residir en su propia rama, que se puede enviar al rapositorio central para copia de seguridad/colaboración.
Pero en lugar de ramificarse de [master], las ramas feature
utilizan la rama develop
como rama primaria. Los cambios no deben interactuar nunca directamente con la rama [master]
-
feature: Administrar ramas de características (nuevas funcionalidades). Ejemplo: Crear una nueva rama de característica llamada "login":
git flow feature start login
-
bugfix: Administrar ramas de correcciones de errores. Ejemplo: Crear una nueva rama de corrección de errores para solucionar un bug llamado "bug123":
git flow bugfix start bug012
-
release: Administrar ramas de lanzamiento de versiones. Ejemplo: Crear una nueva rama de lanzamiento para preparar la versión 1.2.0:
git flow release start 1.2.0
-
hotfix: Administrar ramas de correcciones rápidas. Ejemplo: Crear una nueva rama de corrección rápida para solucionar un bug crítico llamado "hotfix123":
git flow hotfix start hotfix-1.2.5
-
support: Administrar ramas de soporte a largo plazo. Ejemplo: Crear una nueva rama de soporte para mantener una versión anterior durante un período prolongado:
git flow support start v1.x
-
log: Mostrar el registro que se desvía de la rama base. Ejemplo: Mostrar el historial de commits en la rama de características "login":
git flow log feature/login
las ramas feature suelen crearse a partir de la última rama
develop
Ubica tu rama actual en develop, si no estas seguro en que rama te encuentras puedes usargit branch
-
PASO 1: Crear una Rama de una nueva funcionalidad como "login":
git flow feature start login
Este código creará una rama como: feature/login
Sigue trabajando como normalmente lo harias, aquí es momento de implementar todo tu código
-
PASO 2: Guardar los Cambios y Publicarlos en el repositorio. Antes de finalizar la rama de característica, asegúrate de que estás en la rama de característica que deseas finalizar. Puedes verificarlo con el siguiente comando:
git branch
-
PASO 3. Realizar los Cambios y Commit. Trabaja en los cambios necesarios para la característica y realiza commits en la rama de característica (feature). Por ejemplo:
git add . git commit -m "feat(app):creación de nuevo login"
Utiliza la nomenclaruta de nombrar commit's, utiliza nuestra guía Nombra tus Commit's de Manera Pro -> Link
-
Finalizar la Rama de Característica: Una vez que hayas completado todos los cambios y estás listo para finalizar la rama de característica, utiliza el siguiente comando:
git flow feature finish feature/login
Esto fusionará tus cambios en la rama develop, eliminará la rama de característica (feature/login) y te llevará de vuelta a la rama develop.
- PASO 5. Subir los Cambios a la Rama develop: Después de finalizar la rama de característica, asegúrate de subir los cambios a la rama develop en el repositorio remoto:
git push origin develop
para realizar acciones como relase, bugs, etc. los pasos son los mismos como el ejemplo anterior