1. Inicio
  2. Tecnología
  3. Control de versiones

Significado de Control de versiones

Sustantivo masculino compuesto. Calco del inglés version control: «control» (del latín contra rotulum, «contra el registro») y «versión» (del latín versio).

El control de versiones es un sistema que registra los cambios realizados sobre un conjunto de archivos a lo largo del tiempo, de modo que se puede consultar o recuperar cualquier versión anterior.

Se usa sobre todo con código fuente, aunque también sirve para documentos, diseños u otros archivos que cambian con frecuencia y que se trabajan entre varias personas.

Qué es el control de versiones

El control de versiones no es simplemente guardar copias con nombres distintos, como «proyecto_final» o «proyecto_final_2»: es un sistema que registra cada cambio de forma ordenada, con información sobre quién lo hizo, cuándo y por qué, y que permite comparar cualquier par de versiones o volver atrás sin perder el resto del trabajo.

Su unidad básica es la confirmación de cambios, un registro que guarda el estado de los archivos en un momento concreto junto con una breve descripción de lo que se modificó. A partir de esos registros se puede reconstruir toda la historia de un proyecto y también trabajar en paralelo mediante ramas, líneas de desarrollo independientes que después pueden combinarse entre sí.

Lo usan a diario equipos de programación, aunque también diseñadores y escritores técnicos que necesitan coordinar cambios sobre archivos compartidos sin sobrescribir el trabajo de los demás.

Origen de la expresión control de versiones

«Versión» procede del latín versio, «acción de dar la vuelta», relacionado con vertere, «volver, girar». «Control» tiene un origen discutido, aunque se relaciona con el latín medieval contra rotulum, «registro que se comprueba contra otro», usado en la contabilidad antigua para verificar un documento. La expresión completa es un calco del inglés version control, surgido en la programación para nombrar los primeros sistemas que guardaban el historial de cambios de un archivo.

Los primeros sistemas de este tipo aparecieron ligados a un único archivo y a un único ordenador; con el tiempo se extendieron a proyectos completos y a equipos distribuidos por distintos lugares, lo que impulsó el desarrollo de los sistemas distribuidos que hoy son los más usados en programación.

Tipos de sistemas de control de versiones

TipoEn qué consisteEjemplo de uso
CentralizadoGuarda el historial completo en un único servidor al que se conectan todos los usuarios.Un equipo pequeño con conexión constante a un servidor central.
DistribuidoCada usuario tiene una copia completa del historial en su propio equipo.Colaborar en un proyecto sin necesidad de estar siempre conectado.
LocalRegistra los cambios solo en el equipo donde se trabaja, sin compartirlos con nadie más.Un proyecto personal que nunca se comparte con otras personas.

Git es, hoy, el sistema distribuido más usado; otros sistemas más antiguos funcionaban de forma centralizada y todavía se encuentran en proyectos heredados.

Ejemplos de uso de control de versiones

El equipo usa un sistema de control de versiones para coordinar los cambios en el código del proyecto.

Gracias al control de versiones, pudo recuperar una función que había borrado por error el día anterior.

Antes de aprender programación en equipo, es recomendable entender bien el control de versiones.

Cada cambio en el control de versiones incluye un mensaje breve que explica qué se modificó y por qué.

Revisaron el historial del control de versiones para averiguar cuándo se introdujo el error.

Sinónimos y palabras relacionadas

Sinónimos: gestión de versiones, control de código fuente.

Antónimos: no tiene antónimo propiamente dicho.

No es lo mismo que:

Preguntas frecuentes sobre control de versiones

¿Para qué sirve un sistema de control de versiones?

Sirve para registrar de forma ordenada los cambios de un proyecto, comparar versiones distintas, recuperar un estado anterior si algo se rompe y coordinar el trabajo de varias personas sobre los mismos archivos sin que se pisen entre sí.

¿Qué diferencia hay entre un sistema centralizado y uno distribuido?

En el sistema centralizado, el historial completo vive en un único servidor y hace falta conexión para consultarlo; en el distribuido, cada persona tiene una copia completa del historial en su propio equipo, lo que permite seguir trabajando sin conexión.

¿Es necesario saber programar para usar el control de versiones?

No de forma estricta. Aunque se asocia sobre todo a proyectos de código, también se usa con documentos de texto, diseños u otros archivos que varias personas modifican con frecuencia y necesitan coordinar.

Ver también