Git Práctico: De cero a héroe

Tipos de sistemas de control de versiones

Ahora que conocemos qué son los Sistemas de Control de Versiones ( SCV ) y por qué son tan útiles, debes saber que no todos fueron creados iguales, existen distintos tipos para distintas necesidades. !Exploremos los distintos tipos de SCV!

El SCV Local

Este es el tipo de SCV más sencillo. Imagina que tienes una carpeta en tu computadora donde guardas todas las versiones de tu trabajo. Es como tener tu propia biblioteca personal, ¡pero solo tú tienes la llave!

¿Cómo funciona?

Básicamente, copias y pegas tus archivos en diferentes carpetas con nombres como "proyecto-v1", "proyecto-v2", etc.

Es como hacer copias de seguridad manuales.

Ventajas
  • Es muy fácil de usar, ¡no necesitas ser un experto!
  • No necesitas configurar ningún servidor ni nada complicado.
Desventajas
  • No puedes colaborar con nadie más,es como tener una biblioteca con llave en tu casa, nadie la puede usar porque solo tú tienes la llave.
  • Si cometes algún error o se daña tu equipo puedes perder la información.

Por ejemplo, imagínate que estás escribiendo una novela y guardas cada capítulo en una carpeta diferente. Si quieres volver a un capítulo anterior, tienes que buscarlo manualmente.

El SCV Centralizado

En este tipo de SCV, todos los archivos se guardan en un servidor central. Es como tener una gran biblioteca donde todos los miembros del equipo pueden acceder a los libros.

¿Cómo funciona?

Todos los programadores se conectan al servidor central para obtener y enviar sus cambios.

Ventajas
  • Permite la colaboración en equipo, todos pueden trabajar juntos.
  • Es más fácil administrar y controlar las versiones.
Desventajas
  • Si el servidor se cae, ¡nadie puede trabajar!
  • Todos dependen del servidor, tienes un solo punto de fallo.

Por ejemplo, Subversion (SVN) es un SCV centralizado.

El SCV Distribuido (DVCS)

En este tipo de SCV, cada programador tiene una copia completa de todo el proyecto en su computadora. Es como tener una red de bibliotecas interconectadas, cada una con su propia copia de los libros.

¿Cómo funciona?

Cada programador tiene su propio repositorio completo en su equipo local.

Pueden trabajar sin conexión a internet y luego sincronizar sus cambios con los demás.

Ventajas
  • Si el servidor se cae, no hay problema, cada programador tiene su propia copia local.
  • Facilita el trabajo colaborativo o en paralelo de forma eficiente.
Desventajas
  • Como cada programador descarga una copia completa del servidor a su equipo local, ocupa más espacio en disco.
  • Puede ser un poco más complicado de aprender al principio.

En este curso aprenderemos sobre Git,el más popular de los Sistemas de Control de Versiones Distribuidos ( DVCS )

Recapitulando

  • Los SCV locales son ideales para proyectos personales.
  • Los SCV centralizados son para equipos que necesitan colaborar.
  • Los SCV distribuidos son para proyectos grandes y complejos que necesitan alta disponibilidad.