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

7 aplicaciones para gestionar proyectos de forma eficiente

¿Estás trabajando en equipo pero todo es un caos? entonces deberías probar estas aplicaciones para gestionar proyectos que te ayudarán a organizarlo todo. Shutterstock Sin duda  trabajar en equipo  es una tarea que generalmente se nos complica debido a problemas de comunicación, sincronización de tiempos, bajo presupuesto o falta de organización, lo que repercute en el resultado final o en la calidad del trabajo realizado. Afortunadamente ya no tiene que ser así. La tecnología ha permitido que hoy en día tengamos muchas herramientas digitales de donde escoger. Éstas nos permiten estar a cargo de tareas y administrar nuestro tiempo para  trabajar con otras personas sin necesidad de estar físicamente en un lugar . A este tipo de herramientas se le conoce como  aplicaciones de gestión de proyectos  y hoy te traemos las mejores opciones que existen para que puedas empezar a organizar tus tareas. Trello Trello  es la aplicación por defecto...

10 excelentes webs para aprender nuevos idiomas gratis

¿Te gustaría aprender un nuevo idioma? Ahora no tienes que invertir tanto tiempo y dinero, con estas webs para aprender idiomas ya no hay pretexto. Luis Molinero | Shutterstock Actualmente,  hablar más de un  idioma  no es un lujo, es una necesidad . Las exigencias globales del mundo en el que vivimos requieren de nuevas competencias de comunicación y por ello, es fundamental que las personas podamos comunicarnos en más de un idioma. Por ejemplo,  el inglés, aunque no es el idioma más hablado, es considerado el idioma universal , razón por la cual, muchas veces, se da por sentado que todos lo conocemos, lo que puede hacernos pasar más de alguna vergüenza. Entre los  hispanohablantes , aprender inglés no era una tarea sencilla, quizás por la cuestión de la pronunciación, pero hoy ya no tiene porque ser así. Y es que aprender un nuevo idioma nos abre las puertas a nuevos mundos, a nuevas oportunidades de empleo y a nuevas relaciones personales. Si esto ...

Crea una página profesional en minutos con Google Sites

Google  tiene de todo . Además de buscador, cuenta con un portal de vídeo (YouTube), un atlas geográfico (Mapas), una suite ofimática (Drive), un cliente de correo electrónico (Gmail), un espacio donde compartir tus fotos, una tienda de apps (Google Play)… Con Google incluso puedes  poner en marcha un blog  en segundos gracias a  Blogger . Entras, te registras, configuras una plantilla y sólo tendrás que crear contenido. Apenas requiere mantenimiento. Por otro lado, si eras  cliente de G Suite , antes Google Apps, además de contar con espacio en Drive, correo electrónico Gmail, calendarios y otros servicios enfocados a la empresa, podías crear  la página web de tu negocio  usando Google Sites. Los usuarios particulares, o quienes no querían una suscripción de pago a G Suite, para montar una página web con Google debían  acudir a Blogger o al espacio gratuito que ofrece Drive . Pero desde hace varios años ya es posible usar Google Sites p...