Control de versiones
Control de versiones
En esta lectura se habla de algunos conceptos básicos sobre las herramientas de control de versiones y el fucionamiento de Git en nuestro sistema. Es un sistema que registra los cambios realizados en un archivo para que posteriormente se puedan recuperar versiones específicas. Este sistema, además de `posibilitar la recuperación de versiones anteriores, permite ver quién lo ha modificado y cuándo,y permite diagnosticar los errores y verificar su origen.
- Sistemas de Control de Versiones locales
- Se trata de un mecanismo en el que se copian archivos a otro directorio.
- Es un mecanismo común pero propenso a errores.
- Una de las versiones más populares es el sistema RSC, que funciona guardando conjuntos de parches( las diferencias entre archivos) en un formato especial en disco.
- Sistemas de control de versiones centralizadas
- Se usa este sistema cuando las personas necesitan colaborar con desarrolladores de otros sistemas.
- Estos sistemas tienen un único servidor que contiene todos los archivos versionados y varios clientes que descargan los documentos desde ese lugar central.
- Ventajas frente a VCS: todos los miembros del equipo saben en qué están trabajando los demás.
- Desventajas: Si el servidor cae, ningún miembro del equipo podrá trabajar hasta que se recupere.
- Sistema de control de versiones distribuidos
- Este sistema ofrece mejoras y soluciones a los dos anteriores.
- Los clientes no descargan la última copia, sino que se replica completamente en el repositorio.
- Si un servidor deja de funcionar, cualquiera de los repositorios disponibles puede ser copiado al servidor.
- Permite colaborar simultáneamente a diferentes equipos y personas dentro de un proyecto y establecer modelos de trabajo jerárquicos.
GIT Creado en 2005, tras la caída de Bitkkeper, una herramienta parecida en el que se creaban cambios en el software a través de parches y archivos. Estos han sido los fundamentos de esta herramienta:
- Copias instantáneas, no diferencias. La ventaja de Git es que la información que almacena se estructura como un conjunto de archivos y las modificaciones hechas en cada versión.
- Casi todas las operaciones son locales, y por tanto, no depende de Internet.
- Git tiene integridad. Se verifica y comprueba a través de una comprobación numérica que imposibilita la alteración de contenidos sin que el sistema lo sepa.
- Git generalmente solo añade información y es muy difícil que el sistema pueda perder datos.
Los tres estados
Git tiene tres estados principales:
- Confirmado (committed): Cuando está confirmado significa que el cambio ya está almacenado de forma segura.
- Modificado (modified): Cuando está modificado, significa que el cambio se ha realiado pero que todavía no se ha confirmado a la base de datos.
- Preparado (staged): Cuando está preparado significa que se ha mercado un archivo para que vaya en la próxima confirmación.
El funcionamiento de Git es el siguiente:
- Se modifica un archivo en el directorio de trabajo.
- Los cambios realizados pasan al área de preparación, en el que se almacena información acerca de la próxima confirmación.
- Confirmas los cambios (commit) y pasan al directorio de Git.