Qué es un git flow

| Última modificación: 24 de abril de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

Hoy te hablamos sobre qué es un git flow. En el proceso de desarrollo de apps suele ser útil establecer unas rutas de trabajo que ayuden a organizar los elementos o pasos a realizar, por ello, es bueno conocer las diferentes metodologías que se encuentran en auge en el campo de desarrollo de apps.

¿Qué es un git flow?

Un git flow es un modelo de ramificación que fue diseñado por un ingeniero de software llamado Vicent Driessen. Este modelo se publicó en el año 2010. En otras palabras, podemos decir que un git flow es una forma de trabajar o de cómo se debería trabajar de forma individual o grupal.

Consejos para trabajar con git flow

En un git flow lo más importante es realizar una distribución o separar a quién irá cada versión de la app. Un ejemplo sería que la rama feature/foo-bar (que tiene como propósito los tests de las funcionalidades) y la rama develop (que está relacionada con la versión “publicable” en cualquier momento) tendrían como destinatarios los testers internos.

Asimismo, la rama reléase/x.y.0 (destinada a la versión enviada a revisión lista para publicar) y la rama hotFix/x.y.z (que se relaciona con la versión con correcciones y enviada a revisión) se enviarían a testers externos.

Por último, la rama master (que es la última versión publicada) tendría como destinatario al público general. Es decir, este caso se daría cuando la app ya se encuentra en una Store.

Ya sabes qué es un git flow, pero para entender la importancia de este modelo de trabajo es bueno conocer algunos consejos para trabajar con git flow:

  • Hacer Code reviews.
  • MR/PR frecuentes y pequeños.
  • Configuración remote.
  • Tests automáticos.
  • La cobertura de test no puede disminuir.
  • Análisis estático (estilo de código, seguridad…).

🔴 ¿Quieres entrar de lleno al Desarrollo Mobile? 🔴

Descubre el Desarrollo de Apps Móviles Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp en Desarrollo de Apps Móviles por una semana

Algo que resulta beneficioso en el git flow son los MR/PR, lo que quiere decir que, cuando terminas tu trabajo, en lugar de subir esa funcionalidad directamente a develop, lo que haces es una petición de subir esa funcionalidad a esa rama y tus compañeros verifican el trabajo. Con eso, ellos pueden ver los cambios que has hecho y te ponen comentarios, por lo que puedes identificar lo que está bien y lo que está mal. Después, realizas los cambios y correcciones oportunas y, cuando ya están todos de acuerdo, lo subes a develop.

Es importante llevar a cabo este proceso, porque es una manera de disminuir los riesgos de que se presenten errores. Además, sirve para no tener problemas respecto a que toda la responsabilidad de algo recaiga en una sola persona.

¿Cómo funciona un git flow?

Después saber qué es un git flow, te preguntarás cómo funciona. En general, un ejemplo de los pasos que este modelo puede seguir son:

  1. Commit.
  2. Trigger CI.
  3. CI Engine.
  4. Run Workflow.
  5. Runners (Fastlane).
  6. Clone code.
  7. Match.
  8. Upload TestFlight.
  9. Slack.

Si nos detenemos en este ejemplo, después de programar podemos subir nuestro código a alguna plataforma como GitLab y este va a pasar a nuestra integración continua (CI). Esto va a lanzar un Workflow con diferentes funciones, como subir ese código a la plataforma establecida (como GitHub), acceder a esta para coger los certificados y publicar en la Store. Asimismo, te permite enviar un mensaje en Slack de forma automática que avise sobre que se ha subido una versión nueva. Es verdad que programar este ciclo podría considerarse un poco complejo, pero tampoco es imposible.

En caso de que, además de conocer qué es un git flow, también quieras aprender sobre qué es la integración continua (CI) y la entrega continua (CD) y cuál es la razón por la deberías incluir estas prácticas en tu proceso de desarrollo de apps, te invitamos a consultar la sección de Desarrollo de Apps Móviles de nuestro blog, en donde podrás encontrar información sobre estas prácticas y muchos otros temas interesantes.

Ahora que conoces un poco sobre qué es un git flow, ¿te gustaría aprender más sobre lo relacionado con el campo de desarrollo de apps móviles? Desde KeepCoding tenemos el Desarrollo de Apps Móviles Full Stack Bootcamp, que puede ayudarte a formarte en este ámbito para alcanzar tus metas. En menos de un año, aprenderás cuáles son los fundamentos iOS y Android, así como las pautas de diseño de apps imprescindibles y algunos de los lenguajes de programación más importantes, entre muchas otras herramientas y habilidades. ¡Inscríbete ahora!

Jose Luis Bustos
Jose Luis Bustos

Lead Software Architect & Coordinador del Bootcamp en Desarrollo de Apps Móviles iOS & Android.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Desarrollo de apps móviles ios & Android

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado