En los sistemas de control de versiones , un repositorio es una estructura de datos que almacena metadatos para un conjunto de archivos o una estructura de directorios . [ 1 ] Dependiendo de si el sistema de control de versiones en uso es distribuido, como Git o Mercurial , o centralizado, como Subversion , CVS o Perforce , todo el conjunto de información en el repositorio puede estar duplicado en el sistema de cada usuario o puede mantenerse en un solo servidor . [ 2 ] Algunos de los metadatos que contiene un repositorio incluyen, entre otras cosas, un registro histórico de cambios en el repositorio, un conjunto de objetos de confirmación y un conjunto de referencias a objetos de confirmación, llamados cabezas .
El propósito principal de un repositorio es almacenar un conjunto de archivos, así como el historial de cambios realizados en esos archivos. [ 3 ] Sin embargo, la forma en que cada sistema de control de versiones gestiona el almacenamiento de esos cambios difiere enormemente. Por ejemplo, Subversion en el pasado dependía de una instancia de base de datos, pero desde entonces ha pasado a almacenar sus cambios directamente en el sistema de archivos. [ 4 ] Estas diferencias en las técnicas de almacenamiento generalmente han dado lugar a diversos usos del control de versiones por parte de diferentes grupos, según sus necesidades. [ 5 ]
Descripción general

En ingeniería de software, un sistema de control de versiones se utiliza para realizar un seguimiento de las versiones de un conjunto de archivos, generalmente para permitir que varios desarrolladores colaboren en un proyecto. El repositorio realiza un seguimiento de los archivos del proyecto, que se representa como un grafo .
Un sistema de control de versiones distribuido se compone de repositorios centrales y de ramas . El repositorio central se encuentra en el servidor. Para modificarlo, el desarrollador primero trabaja en un repositorio de rama y luego confirma los cambios en el repositorio central.
Forjas
CodeForge es una interfaz web para un sistema de control de versiones. Normalmente , un usuario puede explorar los repositorios y sus archivos constituyentes en la propia página.
Alojamiento web estático
Si bien las plataformas de desarrollo en línea se utilizan principalmente para el control de versiones, algunas permiten alojar páginas web estáticas mediante la carga del código fuente (como HTML y JavaScript , pero no PHP ) a un repositorio. Esto se suele hacer para proporcionar documentación o una página de inicio para un proyecto de software.
El uso de repositorios como lugar para cargar documentos web permite integrar el control de versiones y, además, permite una iteración rápida porque los cambios se envían a través del sistema de control de versiones en lugar de tener que cargar el archivo a través de un protocolo como FTP . [ 6 ]
Algunos ejemplos de este tipo de servicio son Codeberg Pages , GitHub Pages y GitLab Pages .
Referencias
- ↑ "SVNBook" . Consultado el 20 de abril de 2012 .
- ↑ "Conceptos y mejores prácticas de control de versiones" . 3 de marzo de 2018. Archivado del original el 27 de abril de 2020. Consultado el 10 de julio de 2020 .
- ↑ "Primeros pasos - Acerca del control de versiones" . Git SCM.
- ↑ Ben Collins-Sussman; Brian W. Fitzpatrick; C. Michael Pilato (2011). "Capítulo 5: Estrategias para la implementación de repositorios". Control de versiones con Subversion: Para Subversion 1.7 . O'Reilly.
- ↑ "Diferentes enfoques para la ramificación del control de versiones" . Stack Overflow . Consultado el 15 de noviembre de 2014 .
- ↑ "GitHub Pages | Sitios web para ti y tus proyectos, alojados directamente desde tu repositorio de GitHub" . GitHub .
- Control de versiones
