DEV Community

loading...
Cover image for Que es Git Flow y porque tenemos que aprenderlo

Que es Git Flow y porque tenemos que aprenderlo

Axel Valdez
UI designer, frontend developer and maybe frequent flyer
・3 min read

Todos damos por entendido que es git y, para quienes no lo saben, esto sirve para hacer un control de versionado sobre tu código. Escribiéndolo así a lo criollo: sirve para poder trabajar código de manera mas eficiente donde lo aloja una repo y de ahí varios desarrolladores clonan tal repo y lo modifican a su gusto o semejanza.

Disclaimer: pido disculpas por la foto que elegí de portada, busque una foto que haya sacado con ramas y encontré esta de un viaje a Iguazú. Para la próxima espero poder encontrar una adecuada.

Los comandos mas reconocibles que tenemos en git son:

Git init
// Para iniciar entorno git

Git status
// Para saber el status de nuestra version

Git pull
// Para actualizar nuestra rama con nuestra ultima version

Git clone
// Para clonar un repositorio

Git checkout
// Para cambiar de rama a otra

Git push
// Para mandar nuestra version a la rama que queremos
Enter fullscreen mode Exit fullscreen mode

Pasemos a Gitflow

Gitflow es un flujo de trabajo que trabaja con las metodologías ágiles y se compone de diferentes tipos de ramas: la master y la dev que son las mas conocidas por todo el mundo de desarrollo pero a esto le agregamos hotfix y feature. Pasemos a explicar todo:

Alt Text

Master
Acá ya es producción, todo lo que pasa acá lo ve el usuario final. Hablándolo en criollo: es la pagina final, fin de la historia

Dev
Todo lo que nosotros vemos y probamos antes de mandarnos de lleno a producción. Si primero nos tenemos que mandar un moco, el primer lugar va a ser en desarrollo. Cuando este todo funcional y sin desperfectos, lo mandamos a prod.

Alt Text

Feature
Esta rama nos sirve para crear una nueva función o feature a nuestro desarrollo para posteriormente mandar un merge request a nuestra rama dev. En simples palabras, creo algo en una rama llamada feature y lo mando a dev para ver si se rompe todo o si funciona bien.

Hotfix
Esta rama es más que nada para arreglar algo rápido, no es tan complejo y el fix es mas que nada para salir directo a producción sin pasar por dev. Por ejemplo:

  • te olvidaste de algún error de ortografía? haces un hotfix, lo fixeas y ya salís a producción.
  • el color que pusiste no es el que esta en el design system? creas un hotfix, lo arreglas y lo mandas a prod.

Tal como lo dice la palabra, es un arreglo en caliente. Si entienden el chiste de arreglos en producción, van a saber qué viene de esta palabra.

Pasos para crear un entorno con gitflow

Primero tienen que iniciar gitflow y nombran las ramas a su preferencia.

git flow init
// para iniciar gitflow a tu repo
Enter fullscreen mode Exit fullscreen mode

En el primero van a llamar a la rama master, que en este caso, seria producción. Dependiendo donde sea su repo, posiblemente sea main o master. En github aparece como main así que vamos a escribir en esta opción como main

Alt Text

En el segundo paso nos va a pedir como se va a llamar la rama de desarrollo así que vamos a nombrarla como dev

Alt Text

Y por ultimo dejamos tal cual como están las siguientes ramas que serian feature, release, hotfix, y demás.

Alt Text

Los pasos para crear una nueva rama tanto en hotfix como en feature son los siguientes:

git flow feature start "nombre del branch"
// para crear una rama en feature

git flow hotfix start "nombre del branch"
// para crear una rama en hotfix
Enter fullscreen mode Exit fullscreen mode

Eso es todo, happy coding✨✨

Discussion (0)