freeCodeCamp/guide/spanish/software-engineering/version-control-system/index.md

47 lines
2.7 KiB
Markdown

---
title: Version Control System
localeTitle: Sistema de control de versiones
---
## Sistema de control de versiones
Los sistemas de control de versiones (VCS), también llamados Source Code Management (SCM), son herramientas que se utilizan para rastrear cambios en archivos, administrar versiones y facilitar la edición colaborativa de archivos. Hay principalmente 2 tipos de VCS:
* Sistema de control de versiones centralizado Donde un repositorio central es autoritario. La arquitectura asociada es cliente / servidor. Los primeros VCS (CVS, SVN ...) fueron el Sistema de Control de Versiones Centralizado.
* Sistema de control de versiones distribuido Donde el repositorio múltiple cambia la modificación. La arquitectura asociada es mayormente de igual a igual, pero un repositorio puede ser declarado como autoritario. Los VCS modernos más utilizados (Git, Mercurial ...) son los sistemas de control de versiones distribuidas.
### ¿Por qué usarlo?
* **Historial de cambios** : VCS permite al usuario navegar y buscar todos los cambios que se registran automáticamente con información útil (fecha, autor ...) y
* **Versiones / etiquetas** : el usuario puede buscar / recuperar el estado específico de los archivos que se han etiquetado con etiquetas y nombres de versión
* **Ramificación / fusión** : el sistema de control de versiones distribuido facilita el mantenimiento de la rama paralela de archivos y la combinación parcial o total cuando sea necesario.
* **Operaciones atómicas** : todos los VCS modernos proporcionan operaciones atómicas: se garantiza que todas las modificaciones tendrán éxito o fallarán en su totalidad, lo que garantiza que los archivos estén siempre en un estado coherente.
### Sistema de control de versiones más popular
* Git
_Git_ es un sistema de control de versiones distribuido y probablemente el VCS más utilizado en la actualidad con _Mercurial_ .
* Mercurial
_Mercurial_ es un sistema de control de versiones distribuido y probablemente el VCS más utilizado hoy en día con _Git_ .
* CVS
_CVS_ es un antiguo SCM que fue proeminente antes de que se extendiera _SVN_ . _CVS_ y _SVN_ ahora están en desuso en favor de Distributed Version Control System como _Git_ y _Mercurial_ .
* SVN / Subversion
_SVM_ es un SCM antiguo que sucedió a _CVS_ . Finalmente, _SVN_ quedó en desuso por la amplia adopción del Sistema de control de versiones distribuido como _Git_ y _Mercurial_
### Más información:
[CVS](http://savannah.nongnu.org/projects/cvs)
[Git](https://git-scm.com/)
[Mercurial](https://www.mercurial-scm.org/)
[SVN](http://subversion.tigris.org/)
[Control de versiones en Wikipedia](https://en.wikipedia.org/wiki/Version_control)