¡Esta es una revisión vieja del documento!
Tabla de Contenidos
Propósito y alcance: Conceptos
Sección perteneciente al curso Control de versiones con Git Avanzado.
Introducción
¿Qué es el control de versiones?
Sistema que monitoriza cambios que se producen en los archivos de un directorio de un disco duro. Registra los cambios en un histórico.
Estos sistemas también permiten que tengamos el código en diferentes ramas y experimentar con él sin “romper” la rama principal para finalmente volcarla a la rama principal y se fusionan las dos versiones del código.
Otra ventaja es que en un mismo proyecto, podemos tener a varios desarrolladores tocando el mismo código. Mediante git se podrán sincronizar todas las versiones para convertirlas en una sola sin que haya problema.
VCS centralizados / distribuidos
En los centralizados (por ejemplo, Subversion) existen los equipos de los desarrolladores y un servidor central que contiene el repositorio. Cada desarrollador se conecta al servidor, Todas las operaciones las hacemos contra el servidor remoto.
En los distribuidos (Git), hay equipos de los desarrolladores y también un servidor central. La diferencia fundamental es que cada máquina tiene una copia del repositorio. Por eso decimos que el repositorio está distribuido. El trabajo con Git es mayoritariamente en local, es decir, con nuestra copia local. Solo nos conectaremos al servidor remoto cuando necesitemos publicar nuestro código o si necesitamos código que haya subido otro desarrollador.
Esto permite que podamos usar Git sin conexión a Internet o problemas con el servidor central.
Este sistema también hace muy difícil que se pueda perder el código ya que este está distribuido por varias máquinas.
Línea de comandos vs. interfaces gráficas
Modelo de branching
Conclusión
Recursos
- Capítulo del libro Pro Git sobre control de versiones:
