Ir al contenido principal

Mejora el flujo de trabajo en tus proyectos con Gitflow


Usar Git y GitHub de forma correcta y organizada puede lograr que el desarrollo de nuestro producto se convierta en un proceso más profesional y menos doloroso. En este artículo conoceremos uno de los métodos más usados y populares para lograrlo: Gitflow.
Este modelo de trabajo es sólo uno de los muchos existentes; y no es estrictamente necesario que se adopte al 100%. Consiste en el uso continuo de branches (o ramas) eissues para lograr hacer cosas tan simples como mantener el código libre de errores o hasta implementar sistemas de integración para automatizar nuestro deployment y/o testing.
Si quieres aprender más acerca de esto y convertirte en todo un experto, te recomiendo tomar el Curso Profesional de Git y Github que tenemos en Platzi.

Ramas principales

Comenzaremos con las ramas master y develop, que serán nuestras guías durante todo el desarrollo de manera permanente.
La rama master es aquella que siempre usamos por default cuando iniciamos un proyecto en Git o Github. Su regla principal consiste en que, en lugar de tener todo tipo de código, sólo contendrá el que ya está listo para producción; y nada más. Pensemos que todo el código que esté aquí, en cualquiera de sus versiones debe estar listo para ser lanzado en cualquier momento.
Por otro lado, la rama develop contiene código con los nuevos desarrollos y características que se incorporarán en el próximo release. Por esta razón es también conocida como la rama de integración. En el momento en el que todo su código esté listo para producción y se ha probado lo suficiente, podremos integrarlo a master. 

Ramas secundarias

A diferencia de las ramas primarias, estas no tienen un tiempo de vida perpetuo. Sólo funcionan como apoyo mientras escribimos código que aún no puede ser integrado a develop y, mucho menos, a master. Es importante mencionar que, en cuanto este código sea integrado a develop, esta rama deberá dejar de existir.
En este caso, nos enfrentamos a diversas situaciones: podemos estar en el inicio del desarrollo de un nuevo feature, en el punto en el que estamos preparando código para ser liberado o en el caso en el que tenemos que corregir código de manera imprevista y rápida para corregir un bug.
A continuación explicaré qué pasa en cada caso:

Desarrollando una nuevo feature

Las ramas de features suelen derivarse de develop y, una vez que estén listas, deberán ser incorporadas de  regreso a develop.
La vida de este branch dura tanto como dure el desarrollo y sólo deben vivir en los repositorios de los developers y nunca en origin. Son útiles porque una nueva característica no tiene que ser integrada necesariamente a develop. Esto depende de la utilidad y necesidad de la misma.

Liberando una nueva versión

Las ramas de release deben ser ramas creadas a partir de develop con el único fin de agregar últimos detalles al código, corregir algunos fallos menores y agregar meta-data como versiones o autores. Una vez que esta rama cumple su objetivo, debe ser integrada a master y a develop de nuevo.

Salvando a nuestros usuarios

Las ramas de hotfix son aquellas que sirven para resolver bugs de último momento que de alguna manera inesperada pasaron a producción sin ser probadas. Estos parches deben ser un derivado de master y deben incorporarse de regreso; así como a develop.
Como mencioné anteriormente, este modelo de trabajo no es el único que existe; pero es de los más útiles y sencillos de comprender. Si quieres aprender cómo funciona y empezar a implementarlo en tus proyectos, te recomiendo registrarte al curso de Git y GitHub en Platzi.

Comentarios

Entradas más populares de este blog

Solución al problema “sudo: command not found” en Linux

Al instalar una distribución GNU/Linux, lo primero que se suele hacer es ejecutar los siguientes comandos de actualización del sistema: Terminal 1 2 sudo apt - get update sudo apt - get upgrade Sin embargo, en Debian nos encontraremos con el problema de que el comando sudo  no se encuentra. Esto depende de cómo hayamos realizado el proceso de instalación, ya que si se especifica una contraseña para el usuario  root  durante la instalación,  sudo  no será instalado por defecto. Por el contrario, si no se especifica una contraseña, sí se instalará. En caso de obtener el error  “sudo: command not found” , debemos realizar los siguientes pasos para solucionar esta situación. 1. Cambiar al usuario root Desde la terminal, introducimos el comando  su  para hacer el login con el usuario  root . Pedirá una contraseña, que será la que hayamos especificado en el proceso de instalación. 2. Instalar el paquete “sudo” Ahora que ya tenem

Listado de 1500 libros gratis para estudiantes y apasionados por la Programación.

En internet hay muchos recursos para aprender a programar, la modalidad de estos por lo general son por medio de videos. Plataformas como youtube sean convertido en una muy importantes fuentes de esos recursos educativos, donde muchas personas no solo buscan apoyo para aprender a programar sino muchas otras cosas mas. Hace algunos meses tuve la oportunidad de compartirles una muy buena y amplia lista de libros gratuitos para aprender a programar, si deseas acceder a esta lo puedes hacer desde el siguiente enlace:  Importante lista de Libros gratis en formato PDF para programadores.  Les recuerdo que todos los libros son totalmente gratuitos. Si lo puedes notar los recursos son infinitos, por eso en este post quiero compartirte una nueva lista de aproximadamente 1500 libros gratis para estudiantes y apasionados por la Programación. Los libros están en formatos PDF, entres los libros encontramos aquellos que nos enseñan sobre: MYSQL, SQL SERVER, PHP, HTML, CSS, C#, C++, JAVASCRIPT

Este es el procedimiento para solicitar citas en el sistema de Gestión de Trámites Universitarios en Venezuela

El sistema otorga citas electrónicas para los procesos de certificación, acreditación, refrendo y autenticación de documentos de los egresados de instituciones universitarias oficiales y privadas El pasado mes de abril, el Ministerio del Poder Popular para Educación Universitaria, Ciencia y Tecnología (Mppeuct) activó el sistema automatizado de asignación de citas para la Gestión de Trámites Universitarios (GTU). Mediante este sistema, se otorga citas electrónicas para los procesos de certificación, acreditación, refrendo y autenticación de documentos de los egresados de instituciones universitarias oficiales y privadas, evitando las largas colas ofreciendo mayor comodidad a la población. Conozca el procedimiento para solicitar la cita electrónica: