SVN - Conceptos básicos
¿Qué es el sistema de control de versiones?
Version Control System (VCS) es un software que ayuda a los desarrolladores de software a trabajar juntos y mantener un historial completo de su trabajo.
Following are the goals of a Version Control System.
- Permita que los desarrolladores trabajen simultáneamente.
- No sobrescriba los cambios de los demás.
- Mantenga el historial de cada versión de todo.
A VCS is divided into two categories.
- Sistema de control de versiones centralizado (CVCS) y
- Sistema de control de versiones distribuido / descentralizado (DVCS).
En este tutorial, nos concentraremos solo en el Sistema de control de versiones centralizado y especialmente Subversion. Subversion se encuentra bajo un sistema de control de versiones centralizado, lo que significa que utiliza un servidor central para almacenar todos los archivos y permite la colaboración en equipo.
Terminologías de control de versiones
Comencemos discutiendo algunos de los términos que usaremos en este tutorial.
Repository:Un repositorio es el corazón de cualquier sistema de control de versiones. Es el lugar central donde los desarrolladores almacenan todo su trabajo. El repositorio no solo almacena archivos sino también el historial. Se accede al repositorio a través de una red, que actúa como servidor y una herramienta de control de versiones que actúa como cliente. Los clientes pueden conectarse al repositorio y luego pueden almacenar / recuperar sus cambios hacia / desde el repositorio. Al almacenar los cambios, un cliente pone estos cambios a disposición de otras personas y, al recuperarlos, un cliente toma los cambios de otras personas como una copia de trabajo.
Trunk: El tronco es un directorio donde ocurre todo el desarrollo principal y, por lo general, los desarrolladores lo revisan para trabajar en el proyecto.
Tags: El directorio de etiquetas se utiliza para almacenar instantáneas con nombre del proyecto. La operación de etiqueta permite dar nombres descriptivos y memorables a una versión específica en el repositorio.
Por ejemplo, LAST_STABLE_CODE_BEFORE_EMAIL_SUPPORT es más memorable que
UUID del repositorio: 7ceef8cb-3799-40dd-a067-c216ec2e5247 y
Revisión: 13
Branches:La operación de sucursales se utiliza para crear otra línea de desarrollo. Es útil cuando desea que su proceso de desarrollo se bifurque en dos direcciones diferentes. Por ejemplo, cuando lance la versión 5.0, es posible que desee crear una rama para que el desarrollo de las funciones de 6.0 se pueda mantener separado de las correcciones de errores de 5.0.
Working copy:La copia de trabajo es una instantánea del repositorio. El repositorio es compartido por todos los equipos, pero la gente no lo modifica directamente. En cambio, cada desarrollador revisa la copia de trabajo. La copia de trabajo es un lugar de trabajo privado donde los desarrolladores pueden hacer su trabajo permaneciendo aislados del resto del equipo.
Commit changes:Confirmar es un proceso de almacenamiento de cambios del lugar de trabajo privado al servidor central. Después de la confirmación, los cambios están disponibles para todo el equipo. Otros desarrolladores pueden recuperar estos cambios actualizando su copia de trabajo. Comprometerse es una operación atómica. O la confirmación completa se realiza correctamente o se revierte. Los usuarios nunca ven el compromiso a medio terminar.