Sistemas de control de versiones

Posted Posted by admin in Tutoriales     Comments No Comments
Nov
21

En este artículo podemos encontrar una breve explicación sobre los sistemas de control de versiones probablemente más utilizados en la actualidad.

  • ¿Qué son y para qué se utilizan?

Es un sistema que registra los cambios realizados sobre una colección de archivos.

Este tipo de sistemas se utiliza para llevar un control sobre los archivos, permitiéndonos crear diferentes versiones de un mismo archivo, que guardará  un breve comentario introducido por el desarrollador/a para poder localizar dicha versión con más rapidez en un futuro, aconsejándose indicar la fecha exacta. Además, nos permite utilizar estas revisiones para ver la evolución del código generado, dando la posibilidad de volver a una versión anterior si fuera necesario.

  • ¿En qué consisten y cuál es su funcionamiento?

A menudo, para crear nuestro propio control de versiones, simplemente se hacen copias del directorio raíz de nuestro proyecto en otro directorio diferente, siendo aconsejable si utilizamos este método, el de añadir la fecha en la que se hace la copia. Este método presenta diversos problemas, ya que es frecuente perder datos o incluso sobre escribirlos sin darnos cuenta.

Para solucionar este problema existen controles de versiones locales, que contienen una base de datos en la que guarda un registro de los cambios realizados. Este se utilizará principalmente, si los archivos van a ser modificados desde una sola máquina, debido a que en caso de modificarse un archivo en distintos sitios, el sistema no podrá guardar los cambios correctamente.

Si nuestro proyecto va a ser modificado por varias o muchas personas, la solución es utilizar un sistema de control de versiones centralizado, que consiste en que tendremos instalado el sistema en un servidor al que iremos enviando los cambios modificados para que cree distintas versiones del fichero, por lo que se deberá de trabajar sobre la última versión estable para no perder ningún cambio accidentalmente.

  • ¿Algunos ejemplos de este tipo de sistemas?

Existen muchos sistemas diferentes, sirviendo como ejemplo CVS, Subversion, Bazaar, Mercurial o Git.

Git lo fundó Linux Torvalds en 2005 bajo licencia GNU y GPL v2, y actualmente alberga algunos de los proyectos más importantes de código abierto, como son Gnome, Android, VLC e incluso el desarrollo del Kernel de Linux.

La mayoría de estos sistemas son de código abierto, aunque si queremos privatizarlo permiten hacerlo adquiriendo una cuenta de pago.

Mercurial, fundado en 2005 bajo licencia GPL v2, da soporte a proyectos como son Python, OpenOffice, Mozilla, Netbeans o la red social española «Tuenti».

Post comment