Control de versiones


En ingeniería de software , el control de versiones (también conocido como control de revisión , control de código fuente o gestión de código fuente ) es una clase de sistemas responsables de gestionar cambios en programas informáticos , documentos, grandes sitios web 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 de número o 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, con algunos tipos de archivos, fusionar.

La necesidad de una forma lógica de organizar y controlar las revisiones ha existido casi desde que existe 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 ediciones de libros y de revisiones de especificaciones son ejemplos que se remontan a la era de la impresión únicamente. Hoy en día, los sistemas de control de revisión más capaces (y complejos) son los que se utilizan en el desarrollo de software , en los que un equipo de personas puede realizar cambios en los mismos archivos al mismo tiempo.

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 gestión de contenido , por ejemplo, Wikipedia. historia 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 realicen un seguimiento de 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 informático , el control de revisión 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 usan software de control de revisión 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 varias 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, con el fin de localizar y corregir errores, es de vital importancia poder recuperar y ejecutar diferentes versiones del software para determinar en qué versión(es) ocurre el problema. También puede ser necesario desarrollar dos versiones del software al mismo tiempo: por ejemplo, donde una versión tiene errores corregidos, pero no nuevas características ( branch), mientras que la otra versión es donde se trabajan nuevas funcionalidades ( tronco ).


Ejemplo de gráfico de historial de un proyecto controlado por revisión; 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).