Control de versiones


En ingeniería de software , el control de versiones (también conocido como control de revisiones , control de fuente o administración de código fuente ) es una clase de sistemas responsables de administrar cambios en programas de computadora , documentos, sitios web grandes u otras colecciones de información. El control de versiones es un componente de la gestión de la configuración del software . [1]

Los cambios generalmente se identifican mediante un código numérico o de letra, denominado "número de revisión", "nivel de revisión" o simplemente "revisión". Por ejemplo, un conjunto inicial de archivos es "revisión 1". Cuando se realiza el primer cambio, el conjunto resultante es "revisión 2", y así sucesivamente. Cada revisión está asociada con una marca de tiempo y la persona que realiza el cambio. Las revisiones se pueden comparar, restaurar y fusionar con algunos tipos de archivos.

La necesidad de una forma lógica de organizar y controlar las revisiones ha existido durante casi tanto tiempo como ha existido la escritura , pero el control de revisiones se volvió mucho más importante y complicado cuando comenzó la era de la informática. La numeración de las ediciones de libros y las revisiones de las especificaciones son ejemplos que se remontan a la era de la impresión únicamente. Hoy en día, los sistemas de control de revisiones más capaces (además de complejos) son los que se utilizan en el desarrollo de software , donde un equipo de personas puede realizar cambios al mismo tiempo en los mismos archivos.

Los sistemas de control de versiones ( VCS ) se ejecutan más comúnmente como aplicaciones independientes, pero el control de revisiones también está integrado en varios tipos de software, como procesadores de texto y hojas de cálculo , documentos web colaborativos [2] y en varios sistemas de administración de contenido , por ejemplo, Wikipedia. historial de la página . El control de revisión permite la capacidad de revertir un documento a una revisión anterior, lo cual es fundamental para permitir que los editores rastreen las ediciones de los demás, corrijan errores y se defiendan contra el vandalismo y el spam en wikis .

En la ingeniería de software , el control de revisiones es cualquier tipo de práctica que rastrea y proporciona control sobre los cambios en el código fuente . Los desarrolladores de software a veces utilizan software de control de revisiones para mantener la documentación y los archivos de configuración , así como el código fuente.

A medida que los equipos diseñan, desarrollan e implementan software, es común que se implementen múltiples versiones del mismo software en diferentes sitios y que los desarrolladores del software trabajen simultáneamente en las actualizaciones. Los errores o características del software a menudo solo están presentes en ciertas versiones (debido a la solución de algunos problemas y la introducción de otros a medida que se desarrolla el programa). Por lo tanto, a los efectos de localizar y corregir errores, es de vital importancia poder recuperar y ejecutar diferentes versiones del software para determinar en qué versión se produce el problema. También puede ser necesario desarrollar dos versiones del software al mismo tiempo: por ejemplo, cuando una versión tiene errores corregidos, pero no nuevas características ( rama), mientras que en la otra versión es donde se trabajan las nuevas funciones ( troncal ).


Ejemplo de gráfico histórico de un proyecto con revisión controlada; el tronco está en verde, las ramas en amarillo y el gráfico no es un árbol debido a la presencia de fusiones (las flechas rojas).