Sistemas de control de versiones

Escrito por Víctor Lozano el . Posteado en Diseño web, Otros

Entendemos por control de versiones el hecho de poder controlar de forma fácil y eficaz la evolución de un proyecto/s a lo largo del tiempo y disponer de las distintas versiones que se han desarrollado del proyecto. Es por esta razón que guardaremos todos los cambios realizados en un proyecto/s, teniendo acceso a todas las versiones del producto para cada fase de desarrollo del mismo.

Aunque los programadores informáticos somos los que más utilizamos éstos sistemas de control de versiones para gestionar el código fuente de las diferentes aplicaciones, éste concepto también es aplicable para gestionar todo tipo de documentos, imágenes, etc.

Antiguamente el control de versiones se hacía guardando copias de seguridad (cds, disquetes, zips, etc.) de las diferentes actualizaciones de un proyecto, teniendo así un histórico por si en un futuro, por el motivo que fuera, se tuviera que recuperar. Éste sistema podría funcionar para proyectos pequeños pero para proyectos de gran volumen era difícil de sostener. Es por esta razón que aparecieron los sistemas de control de versiones, permitiendo volver de forma fácil y sencilla a cualquier versión del proyecto.

Tipos de sistemas de control de versiones

Hay distintos sistemas de programas_control_versionescontrol de versiones, como por ejemplo lo son: Git, Mercurial, SVN, etc. Como destacado cabe decir que todos ellos pueden utilizarse de forma local (en tu ordenador), o bien se puede utilizar alguna herramienta que ya lleve éstos sistemas de versiones incorporados y que hacen la gestión remotamente (en la nube, la información no la guardamos en nuestro ordenador y podemos tener acceso a ella desde cualquier ordenador con conexión a internet). Algunos de estos gestores son: Bitbucket y GitHub.

Qué es un repositorio

El lugar dónde guardamos los distintos proyectos con control de versiones se llama repositorio. Éstos repositorios pueden ser públicos, a los cuales todos podrán tener acceso, o bien privados, los cuales tendrán un acceso restringido y solo podrán verlo aquellas personas autorizadas (por ejemplo solo los desarrolladores del proyecto).

Funcionamiento del repositorio

Para cada repositorio podemos crear tantas ramas de desarrollo como queramos. Las ramas de desarrollo lo que permiten es poder tener varias personas trabajando simultáneamente sobre el mismo proyecto, ya sea en una misma rama o bien creando distintas ramas las cuales permiten trabajar a diferentes personas en distintas tareas dentro de un mismo proyecto.

esquema_ramas Lo más normal sería disponer de una rama master dónde tendremos las distintas versiones finales del proyecto y como mínimo una rama de desarrollo para ir desarrollando y haciendo pruebas. Así pues, una vez realizadas todas las pruebas en la rama de desarrollo, se une ésta rama con la rama master aplicando a la rama master todas las mejoras del proyecto realizadas y testeadas previamente.

El hecho de trabajar con un desarrollo continuado, facilita la faena puesto que si se trabaja con distintos servidores y se necesita que todas las mejoras realizadas al proyecto se vean replicadas a todos los servidores, solo hace falta actualizar la rama master y ésta automáticamente aplicará los cambios a todos los servidores con los que trabaja. Si se quisiera, ésta réplica a los servidores también se podría hacer al resto de ramas, con el objetivo de poder testear cada una de ellas antes de hacer la publicación final a la rama master. A su vez, podríamos llegar a hacer pruebas en local y no desplegar las ramas de desarrollo.

Es muy importante no poner datos relevantes en los dispositivos, de ésta forma podemos evitar cualquier conflicto de seguridad.

Conclusiones

Como conclusión cabría decir que la creación de estos sistemas de control de versiones ha significado un gran avance para poder llevar un seguimiento y control del proyecto, facilitando al máximo el hecho de poder deshacer un cambio y volver a antiguas versiones que sabemos que funcionan correctamente.

Desde GNA trabajamos siempre con el sistema de control de versiones con el objetivo de ofrecer el mejor servicio a nuestros clientes teniendo la posibilidad de testear en distintas ocasiones y antes de hacer la publicación, si las mejoras realizadas agilizarán la faena a nuestros clientes y si les ayudarán en su día a día.

FacebooktwitterlinkedinFacebooktwitterlinkedin

Etiquetas:, , ,

"Trackback" Enlace desde tu web.

Víctor Lozano

Técnico programador - Desarrolla y analiza entornos web en el mundo del e-turismo, y apuesta por la investigación e innovación para llevar a cabo las aplicaciones adecuadas para cada cliente.

Deja un comentario

OFICINAS

Girona
Lleida
Zaragoza
Benidorm
Andorra La Vella
Bogotá (Colombia)
Buenos Aires (Argentina)
Santiago (Xile)
Quito (Ecuador)

SÍGUENOS

GNA Hotel Solutions somos una consultoría en innovación y tecnología hotelera, con un equipo de expertos multidisciplinar, que trabajamos para potenciar la venta directa y reducir los costes de distribución para optimizar tus resultados.

Subscripción

Regístrate y no te pierdas ni una de nuestras publicaciones

Translate »