Componentes Esenciales de un Sistema de Control de Versiones: Glosario Completo

Clasificado en Informática

Escrito el en español con un tamaño de 4,44 KB

Componentes de un Sistema de Control de Versiones

Un sistema de control de versiones (VCS, por sus siglas en inglés) se compone de varios elementos o componentes que utilizan una terminología específica. Es importante tener en cuenta que no todos los sistemas de control de versiones emplean los mismos términos para referirse a los mismos conceptos.

Repositorio (Repository o Depot)

Es el conjunto de datos almacenados, que también se refiere a las versiones o copias de seguridad. Es el lugar central donde se almacenan estos datos. Puede contener muchas versiones de un único proyecto o de varios proyectos.

Módulo (Module)

Se refiere a una carpeta o directorio específico dentro del repositorio. Un módulo puede hacer referencia a todo el proyecto o solo a una parte del mismo.

Tronco (Trunk o Master)

Es el estado principal del proyecto. Es la línea de desarrollo principal, destinada a ser la versión que, una vez finalizado su desarrollo, se pasará a producción.

Rama (Branch)

Es una bifurcación del tronco (o rama maestra) de la aplicación. Contiene una versión independiente de la aplicación a la que se pueden aplicar cambios sin afectar al tronco ni a otras ramas. Estos cambios, en el futuro, pueden incorporarse al tronco.

Versión o Revisión (Version o Review)

Es el estado del proyecto, o de una de sus ramas, en un momento determinado. Se crea una versión cada vez que se añaden cambios a un repositorio.

Etiqueta (Tag, Label o Baseline)

Información adicional que se añade a una versión. A menudo indica alguna característica específica que la hace especial. Esta información es textual y, muchas veces, se genera manualmente.

Head (Head o Tip)

Hace referencia a la versión más reciente de una determinada rama o del tronco. Tanto el tronco (para referirse a este HEAD) como cada rama tienen su propio head.

Clonar (Clone)

Consiste en crear un nuevo repositorio, que es una copia idéntica de otro, ya que contiene las mismas revisiones.

Bifurcación (Fork)

Creación de un nuevo repositorio a partir de otro. A diferencia de la clonación, este nuevo repositorio no está ligado al repositorio original y se trata como un repositorio independiente.

Pull

Es la acción que copia los cambios de un repositorio (habitualmente remoto) al repositorio local. Esta acción puede provocar conflictos.

Push o Fetch

Son acciones utilizadas para añadir los cambios del repositorio local a otro repositorio (habitualmente remoto). Esta acción puede provocar conflictos. (Fetch, en algunos sistemas, solo descarga los cambios sin aplicarlos, mientras que Push sí los aplica).

Cambio (Change o Diff)

Representa una modificación concreta de un documento bajo el control de versiones.

Sincronización (Update o Sync)

Es la acción de combinar los cambios hechos en el repositorio con la copia de trabajo local.

Conflicto (Conflict)

Se produce cuando se intentan añadir cambios a un fichero que ha sido modificado previamente por otro usuario. Antes de poder combinar los cambios con el repositorio, se debe resolver el conflicto.

Fusionar (Merge o Integration)

Es la acción que se produce cuando se quieren combinar los cambios de un repositorio local con uno remoto, se detectan cambios en el mismo archivo en ambos repositorios y se produce un conflicto. Para resolver este conflicto, se deben fusionar los cambios antes de poder actualizar los repositorios.

Bloqueo (Lock)

Algunos sistemas de control de versiones, en lugar de utilizar el sistema de fusiones, bloquean los archivos en uso. De esta forma, solo un usuario puede modificar un fichero en un momento dado.

Directorio de Trabajo (Working Directory)

Directorio en el que el programador trabajará a partir de una copia que habrá hecho del repositorio en su ordenador local.

Copia de Trabajo (Working Copy)

Hace referencia a la copia local de los archivos que se han copiado del repositorio. Es sobre esta copia sobre la que se realizan los cambios (es decir, se trabaja, de ahí el nombre) antes de añadir estos cambios al repositorio. Se almacena en el directorio de trabajo.

Volver a la Versión Anterior (Revert)

Descarta todos los cambios producidos en la copia de trabajo desde la última sincronización con el repositorio.

Entradas relacionadas: