Está en la página 1de 2

1 - Explique que es un Controlador de Versiones

Software que administra el acceso a un conjunto de ficheros, y mantiene un historial de


cambios realizados. El control de versiones es útil para guardar cualquier documento
que cambie con frecuencia, como código fuente, documentación o ficheros
de configuración.
2 - Ventajas y desventajas del Controlador de Versiones
Ventajas:
1. Simplicidad.

2. No requiere un daemon corriendo para trabajar.


Desventajas:
1. No es posible trabajar con proyectos enteros opera en archivos individuales.

2. No permite varios usuarios independientes.

3. No permite archivos de configuración de un servidor o scripts de


automatización.

3 - Defina los siguientes términos en el contexto de los controladores de versiones.

Branch: en un instante de tiempo de forma que, desde ese momento en adelante se


tienen dos copias (ramas) que evolucionan de forma independiente siguiendo su propia línea de
desarrollo. El módulo tiene entonces 2 (o más) "ramas".

Merge: sucede cuando una copia de los cambios hechos a una copia local es escrita o
integrada sobre el repositorio. Esto también puede representar una vista secuencial del código
fuente, permitiendo que la fuente sea examinado a partir de cualquier identificador de lista de
cambios particular.

Conflict
Un conflict ocurre cuando el sistema no puede manejar adecuadamente cambios
realizados por dos o más usuarios en un mismo archivo. Por ejemplo, si se da esta
secuencia de circunstancias:

Repository: es una estructura de datos que almacena metadatos para un conjunto de


archivos o estructura de directorios. Dependiendo de si el sistema de control de versión
en uso está distribuido (por ejemplo, Git o Mercurial ) o centralizado
( Subversion o Perforce , por ejemplo), todo el conjunto de información en el repositorio
se puede duplicar en el sistema de cada usuario o se puede mantener en un
único servidor .

4 - Explique las diferencias entre:

Sistemas de control de versiones locales: Estos solo contenían una simple base de datos en
la que se llevaba un registro de todos los cambios realizados sobre los archivos.

Sistemas de control de versiones centralizados: Existe un repositorio centralizado de todo el


código, del cual es responsable un único usuario (o conjunto de ellos). Se facilitan las tareas
administrativas a cambio de reducir flexibilidad, pues todas las decisiones fuertes (como crear
una nueva rama) necesitan la aprobación del responsable.
Sistemas distribuidos de control de versiones: Cada usuario tiene su propio repositorio. Los
distintos repositorios pueden intercambiar y mezclar revisiones entre ellos. Es frecuente el uso
de un repositorio, que está normalmente disponible, que sirve de punto de sincronización de los
distintos repositorios locales. Ejemplos: Git y Mercurial.

flujo de trabajo
Tu repositorio local está compuesto por tres "árboles" administrados por git. El primero es tu
Directorio de trabajo que contiene los archivos, el segundo es el Index que actua como una
zona intermedia, y el último es el HEAD que apunta al último commit realizado.