Please enable JavaScript.
Coggle requires JavaScript to display documents.
Estrategia de versionamiento, Alberto Villanueva Antunez 1001 - Coggle…
Estrategia de versionamiento
Características de los sistemas de control de versiones
Son herramientas que permiten rastrear los cambios en el código y coordinar el trabajo en equipo
Historial de cambios
Guardan versiones anteriores del código y permiten ver qué cambios se hicieron, por quién y cuándo
Ramas (branches)
Los sistemas permiten crear "ramas" para trabajar en nuevas características o solucionar errores sin afectar la versión principal del código
Resolución de conflictos
Si dos personas modifican la misma línea de código, el sistema detecta el conflicto y ayuda a resolverlo
Trabajo colaborativo
Permiten a múltiples desarrolladores trabajar en el mismo proyecto sin sobrescribir los cambios de los demás
Fusión de cambios (merge)
Combinan los cambios realizados en diferentes ramas
Reversión
Es posible deshacer cambios y regresar a versiones anteriores del proyecto
Plataformas y herramientas de versionamiento
Herramientas
Mercurial
Similar a Git, es otro sistema distribuido, aunque menos popular, pero enfocado en simplicidad y facilidad de uso
Subversion (SVN)
Es un sistema centralizado donde los cambios se realizan en un servidor central, lo que puede ser útil en entornos con requisitos específicos de control
Git
Es el sistema de control de versiones distribuido más utilizado. Permite trabajar localmente y luego sincronizar los cambios con un repositorio remoto
Plataformas
GitLab
Similar a GitHub, pero con características adicionales como integración continua y entrega continua (CI/CD)
Bitbucket
Soporta Git y Mercurial, y también es común en proyectos empresariales
GitHub
Ofrece hospedaje de repositorios Git y añade funcionalidades colaborativas como pull requests, issues, y un seguimiento detallado de los proyectos
Flujos de trabajo
Flujo de trabajo de Feature Branch
Cada desarrollador trabaja en una rama independiente para cada nueva característica o mejora. Una vez completada, se fusiona en la rama principal (master o develop)
Flujo de trabajo de Forking
Los desarrolladores "clonan" un repositorio principal, hacen sus cambios en su copia y luego envían los cambios a los mantenedores del proyecto a través de un pull request
Flujo de trabajo centralizado
Ideal para equipos pequeños que utilizan un único repositorio central
Flujo de trabajo de Git Flow
Ramas de características
Se crean ramas a partir de develop para desarrollar nuevas funcionalidades
Ramas de hotfix
Se utilizan para corregir errores en producción
Ramas principales
Incluye dos ramas principales: master (versión estable) y develop (versión en desarrollo)
Alberto Villanueva Antunez 1001