Dos flujos de trabajo en Git mas populares

¿Qué son los flujos en git?

Los flujos en Git son simplemente formas de organizar cómo tú y tu equipo trabajan en un proyecto usando Git. Un flujo define cuándo y cómo crear ramas para trabajar en nuevas funciones o arreglar problemas, cómo juntar esos cambios con el proyecto principal, y cómo manejar las diferentes versiones del proyecto. Cada equipo elige un flujo que se adapte a su forma de trabajar para que todos puedan colaborar sin confusiones ni conflictos en el código

Forking Workflow

Este flujo es muy utilizado en proyectos de código abierto. Aquí, cada colaborador crea una copia (o “fork”) del repositorio original en su propio espacio. Luego, trabajan en su fork y, cuando están listos, envían una solicitud de combinación (pull request) para que sus cambios sean revisados y fusionados en el proyecto principal. Esto permite que varios desarrolladores trabajen en paralelo sin interferir entre sí.

Ideal para proyectos de gran escala y de código abierto, donde múltiples desarrolladores pueden trabajar simultáneamente sin colisionar entre ellos. Proporciona un sistema robusto para la revisión de código, permitiendo que los cambios se integren de forma controlada y segura en el proyecto principal.

¿Cómo Funciona el Forking Workflow?

1.Hacer un Fork del Repositorio Original

Cuando un colaborador quiere contribuir a un proyecto, lo primero que hace es crear un fork del repositorio principal en su cuenta. Un fork es simplemente una copia completa del repositorio original, pero alojada en la cuenta del colaborador en la plataforma de Git que estés usando (por ejemplo, GitHub, Bitbucket o GitLab). Esto le permite trabajar en su copia del proyecto sin afectar el repositorio original o las contribuciones de otros.

2.Clonar el Fork Localmente

Una vez que el repositorio ha sido “forkeado”, el siguiente paso es clonar el fork en la computadora local del colaborador. Esto se hace utilizando el comando git clone, lo que copia todos los archivos del proyecto a su máquina.

3.Crear una Rama para los Cambios

Una vez que el proyecto está clonado localmente, el colaborador debe crear una rama nueva donde realizará los cambios. Es importante trabajar en una rama separada para mantener el flujo organizado y evitar tocar directamente la rama principal (generalmente llamada main o master).

4.Realizar los Cambios

Ahora, el colaborador trabaja en su rama, realizando modificaciones, añadiendo nuevas funciones, corrigiendo errores, etc. Aquí es donde ocurre el desarrollo activo. Cada cambio que haga puede ser guardado en Git con los comandos git add y git commit.

5.Sincronizar con el Repositorio Original

Mientras el colaborador trabaja, es posible que el repositorio original (el proyecto principal) reciba nuevas actualizaciones de otros desarrolladores. Por eso, es importante que el colaborador mantenga su fork sincronizado con el repositorio original. Para ello, puede agregar el repositorio original como un “remoto” y fusionar los cambios del proyecto principal en su fork.

6.Subir los Cambios a su Fork

Cuando el colaborador ha terminado de hacer los cambios en su rama local, es hora de subir esos cambios a su fork en la nube. Esto se hace con el comando git push, que sube los cambios desde la computadora local al repositorio remoto.

7.Crear un Pull Request

Una vez que los cambios han sido subidos al fork, el colaborador está listo para proponer que sus modificaciones se integren en el repositorio original. Para ello, crea un Pull Request (PR). Un Pull Request es una solicitud formal para que los administradores o los mantenedores del proyecto revisen los cambios y, si todo está en orden, los acepten e integren al proyecto principal.

En este punto, el repositorio original y el fork son comparados. Los revisores pueden ver exactamente qué cambió, dejar comentarios y solicitar ajustes antes de aprobar la integración.

Git Flow

Es un modelo de trabajo en Git que organiza el desarrollo del proyecto en diferentes tipos de ramas, cada una con un propósito específico. Fue propuesto por Vincent Driessen en 2010 y es muy popular para proyectos con ciclos de desarrollo largos, donde se lanzan versiones importantes de forma periódica. La estructura y reglas de Git Flow aseguran que haya un control claro sobre qué está en desarrollo, qué está listo para producción y cómo se manejan las correcciones de errores.

Aunque DevSecOps ofrece enormes beneficios, implementarlo no es sencillo. Requiere un cambio de mentalidad y cultura dentro de las organizaciones. Todos los equipos –desde desarrollo hasta operaciones y seguridad– deben colaborar de manera más estrecha. También es necesario invertir en herramientas de automatización y capacitación para que el personal esté preparado para enfrentar este nuevo enfoque.

El flujo de Git Flow se basa en cinco tipos principales de ramas:

main (antes master): contiene las versiones estables y lanzadas a producción.


develop: la rama de desarrollo donde se integra todo el trabajo antes de lanzar una nueva versión.


feature: para el desarrollo de nuevas características o funciones.


release: para preparar una nueva versión lista para producción.


hotfix: para solucionar errores críticos en la versión de producción.

Cada rama tiene su papel específico y se utiliza para mantener el proyecto organizado en cada fase del ciclo de desarrollo. A continuación, explico cómo funciona cada una y cómo se integran en el flujo.


David Guzmán López

Ingeniero Electrónico

Electronic Engineer | DevOps Engineer | SRE | Cloud Engineer | Infrastructure Engineer