Control de Versiones
Control de Versiones
Control de Versiones
Nombre:
Matricula:
2018-1695
Materia:
Administración de Configuración
Carrera:
Ingeniería de Software
Profesor:
Tema:
Control de versiones
Se llama control de versiones a la gestión de los diversos cambios que se realizan
sobre los elementos de algún producto o una configuración de este. Una versión,
revisión o edición de un producto, es el estado en el que se encuentra el mismo en un
momento dado de su desarrollo o modificación.
Para casi todos los proyectos de software, el código fuente es como las joyas de la
corona, un activo valioso cuyo valor debe protegerse. Para la mayoría de equipos de
software, el código fuente es un repositorio del conocimiento de valor incalculable y de
la comprensión sobre el dominio del problema que los desarrolladores han recopilado y
perfeccionado con un esfuerzo cuidadoso. El control de versiones protege el código
fuente tanto de las catástrofes como del deterioro casual de los errores humanos y las
consecuencias accidentales.
Los sistemas de control de versiones (VCS) han experimentado grandes mejoras en las
últimas décadas y algunos son mejores que otros. Una de las herramientas de VCS
más populares hoy en día se llama Git. Git es un VCS distribuido, una categoría
conocida como DVCS, que explicaremos con más detalle después. Al igual que
muchos de los sistemas de VCS más populares disponibles hoy en día, Git es gratuito
y de código abierto. Independientemente del nombre que tengan, o del sistema que se
utilice, las principales ventajas que deberías esperar del control de versiones son las
siguientes:
Para afrontar este problema los programadores desarrollaron hace tiempo VCS locales
que contenían una simple base de datos, en la que se llevaba el registro de todos los
cambios realizados a los archivos.
Una de las herramientas de control de versiones más popular fue un sistema llamado
RCS, que todavía podemos encontrar en muchas de las computadoras actuales.
Incluso el famoso sistema operativo Mac OS X incluye el comando rcs cuando instalas
las herramientas de desarrollo. Esta herramienta funciona guardando conjuntos de
parches (es decir, las diferencias entre archivos) en un formato especial en disco, y es
capaz de recrear cómo era un archivo en cualquier momento a partir de dichos
parches.
Sistemas de Control de Versiones Centralizados
El siguiente gran problema con el que se encuentran las personas es que necesitan
colaborar con desarrolladores en otros sistemas. Los sistemas de Control de Versiones
Centralizados (CVCS por sus siglas en inglés) fueron desarrollados para solucionar
este problema. Estos sistemas, como CVS, Subversion y Perforce, tienen un único
servidor que contiene todos los archivos versionados y varios clientes que descargan
los archivos desde ese lugar central. Este ha sido el estándar para el control de
versiones por muchos años.