Git es en la actualidad el sistema de control de versiones más usado. Cuando tenemos que colaborar entre distintos miembros de un equipo aparecen determinados problemas que deberíamos de solventar con la estrategia más apropiada.
En esta sesión explicaré la problemática que se plantea al colaborar en un proyecto software y las estrategias más habituales para llevar a buen puerto el proyecto:
-Flujo de trabajo centralizado, para aquellos equipos que se están iniciando en Git y llevando a cabo la transición desde otros sistemas de control de versiones centralizados como SVN.
-Flujo de trabajo basado en ramas de funcionalidades (feature branch), donde cada funcionalidad se lleva a cabo en una rama concreta.
-Gitflow, que define un estricto modelo de ramificación, proporcionando una base sólida para la gestión de proyectos de gran tamaño, aunque también se adapta perfectamente a los proyectos más pequeños.
-Flujo de trabajo basado en forks, habitual en proyectos de código abierto, donde cada desarrollador tiene dos repositorios: uno local privado y otro público.
El guion propuesto para la sesión es el siguiente:
1-Explicación de la problemática al colaborar en un proyecto software.
2-Explicación de las soluciones organizativas más habituales (centralización, feature branch, Gitflow y forking). En cada solución explicaré:
-Cómo funciona.
-Un ejemplo.
-Pros y contras de la solución.
-Consejos.
3-Breve explicación de otras soluciones menos habituales.
Al finalizar esta sesión el asistente conocerá distintos flujos de trabajo con Git y tendrá los conocimientos para poder adaptar el trabajo de su equipo a la estrategia que más le convenga.