Conceptos Clave en Sistemas de Control de Versiones: Glosario Completo
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 4,59 KB
Conceptos Clave en Sistemas de Control de Versiones
Repositorio
Es el lugar donde se almacenan los datos actualizados e históricos en un servidor. Esencialmente, es la base de datos centralizada de todo el proyecto.
Módulo
Conjunto de directorios y/o archivos dentro del repositorio que pertenecen a un proyecto común. Piensa en él como una carpeta que contiene todos los archivos relacionados con una parte específica del proyecto.
Etiquetado (Tag)
Darle a alguna versión de cada uno de los ficheros del módulo en desarrollo, en un momento preciso, un nombre común (“etiqueta” o “rótulo”). Esto permite recuperar fácilmente ese estado específico del desarrollo posteriormente bajo ese nombre. Es como una instantánea en el tiempo.
Versión
Una revisión es una versión determinada de un archivo. Cada vez que se modifica y guarda un archivo, se crea una nueva versión.
Ramificación (Branch)
Un módulo puede ser bifurcado en un momento determinado. Desde ese momento, dos copias de esos ficheros pueden ser desarrolladas a diferentes velocidades o de diferentes formas, de modo independiente. Es como crear un camino alternativo para experimentar sin afectar la línea principal de desarrollo.
Despliegue (Check-out)
Un despliegue crea una copia de trabajo local desde el repositorio. Se puede especificar una revisión concreta y, por defecto, se suele obtener la última. Es como sacar una copia de un libro de la biblioteca para trabajar en él.
Envío (Commit)
Una copia de los cambios hechos a una copia local es escrita o integrada sobre el repositorio. Es como guardar los cambios realizados en tu copia local en la base de datos central.
Conflicto
Puede ocurrir en varias circunstancias:
- Los usuarios X e Y despliegan versiones del archivo A en que las líneas n1 hasta n2 son comunes.
- El usuario X envía cambios entre las líneas n1 y n2 al archivo A.
- El usuario Y no actualiza el archivo A tras el envío del usuario X.
- El usuario Y realiza cambios entre las líneas n1 y n2.
- El usuario Y intenta posteriormente enviar esos cambios al archivo A.
En estos casos, el sistema es incapaz de fusionar los cambios y pide al usuario que resuelva el conflicto.
Resolución de Conflictos
El acto de intervención del usuario para atender un conflicto entre diferentes cambios al mismo documento. El usuario debe decidir qué cambios mantener y cuáles descartar.
Cambio (Diff)
Un cambio representa una modificación específica a un documento bajo control de versiones. Muestra las diferencias entre dos versiones de un archivo.
Lista de Cambios (Changelist)
En muchos sistemas de control de versiones con commits multicambio atómicos, una lista de cambios identifica el conjunto de cambios hechos en un único commit.
Exportación
Una exportación es similar a un check-out, salvo porque crea un árbol de directorios limpio sin los metadatos de control de versiones presentes en la copia de trabajo. Es útil para crear una versión limpia del proyecto sin el historial de versiones.
Importación
Una importación es la acción de copiar un árbol de directorios local (que no es en ese momento una copia de trabajo) en el repositorio por primera vez. Es el paso inicial para agregar un proyecto al control de versiones.
Integración Inversa
El proceso de fusionar ramas de diferentes equipos en el trunk principal (rama principal) del sistema de versiones.
Actualización (Update)
Una actualización integra los cambios que han sido hechos en el repositorio (por ejemplo, por otras personas) en la copia de trabajo local. Es como sincronizar tu copia local con la última versión del repositorio.
Copia de Trabajo
La copia de trabajo es la copia local de los ficheros de un repositorio, en un momento del tiempo o revisión específicos. Todo el trabajo realizado sobre los ficheros en un repositorio se realiza inicialmente sobre una copia de trabajo, de ahí su nombre. Conceptualmente, es un cajón de arena o sandbox.
Congelar (Freeze)
Significa permitir los últimos cambios (commits) para solucionar las fallas a resolver en una entrega (release) y suspender cualquier otro cambio antes de una entrega, con el fin de obtener una versión consistente. Es una práctica común antes de lanzar una nueva versión de software.