¿Qué significa vcs?
Sistema de Control de Versiones (VCS).
Es un sistema de registro de cambios en el contenido de uno o más archivos para poder acceder a las revisiones de una versión específica en el futuro. Los sistemas de control de versiones se pueden aplicar no sólo a archivos de texto de código fuente de software, sino también a cualquier tipo de archivo para control de versiones. Los más utilizados son svn, git, etc.
Para permitir que los desarrolladores de diferentes sistemas trabajen juntos, surgió el sistema de control de versiones centralizado (CVCS). Estos sistemas tienen un servidor administrado centralmente que contiene revisiones de todos los archivos. Las personas que trabajan juntas se conectan al servidor a través de clientes para obtener los archivos más recientes o enviar actualizaciones.
La deficiencia más obvia de un sistema de control de versiones centralizado es el único punto de falla del servidor central. Si el servidor falla, nadie puede enviar actualizaciones y no pueden trabajar juntos; si el disco falla y la copia de seguridad no es lo suficientemente oportuna, es posible que se pierdan datos y, en el peor de los casos, se perderá el registro histórico de cambios de todo el proyecto. perdido. Por lo tanto, surgió el Sistema de control de versiones distribuidas (DVCS).
En un sistema de control de versiones distribuido, el cliente extrae no solo una instantánea de la última versión del archivo, sino también un espejo de todo el código base. Por lo tanto, cada operación de extracción es una copia de seguridad completa del código base, por lo que no hay necesidad de preocuparse por la caída del servidor utilizado para el trabajo colaborativo.
La principal diferencia entre Git y otros sistemas de control de versiones es que a Git solo le importa si los datos generales del archivo han cambiado, mientras que la mayoría de los otros sistemas solo se preocupan por las diferencias específicas en el contenido del archivo y las registran en cada versión. . medio. En Git, la mayoría de las operaciones solo requieren acceso a archivos y recursos locales y no requieren una conexión a Internet.
Esto se debe a que Git mantiene un historial de todas las actualizaciones del proyecto actual en el disco local, por lo que puede procesar estas actualizaciones rápidamente, intercambiando espacio por tiempo. Con Git, puede enviar actualizaciones con la frecuencia que desee, incluso sin una red o VPN, y luego enviarlas al repositorio remoto cuando tenga una conexión a Internet.
Extensiones:
Control de versiones de software
Los diseñadores de software suelen utilizar el control de versiones para rastrear y mantener cambios en el código fuente, documentación, archivos de configuración, etc., y Proporcionar los procedimientos que controlan estos cambios.
En el caso más simple, un diseñador de software puede guardar para sí muchas versiones diferentes de un programa y numerarlas adecuadamente. Muchos grandes proyectos de software han adoptado este sencillo enfoque. Este método funciona, pero no es lo suficientemente eficiente.
Además de tener que mantener muchas versiones casi idénticas del código fuente al mismo tiempo, este enfoque también depende en gran medida del autocontrol y la disciplina de desarrollo del diseñador de software, lo que a menudo es la causa de errores.
A veces es necesario tener más de una versión del programa al mismo tiempo, por ejemplo, en una versión para despliegue se han solucionado errores pero no se han añadido nuevas características y en otra versión de desarrollo; Se están desarrollando nuevas funciones y se están solucionando nuevos errores, por lo que es necesario tener diferentes versiones del programa al mismo tiempo y realizar cambios.
Además, para encontrar errores que sólo existen en una versión específica (provocados por solucionar un problema o agregar una nueva característica), o para saber en qué versión de un programa ocurre un error, el software Los depuradores también deben comparar diferentes versiones del código para identificar el problema.
Referencia: Enciclopedia Baidu-VCS