Title: Introducción al Control de Versiones
Course: 2025 - LISI/LI - Desarrollo de Software Avanzado > Section: Github

🎯 Objetivo de la Unidad

Comprender la importancia del control de versiones en el desarrollo de software, conocer los conceptos fundamentales de Git y GitHub, y preparar el entorno de trabajo para gestionar proyectos desde la terminal y la nube.

🧩 1. ¿Qué es el Control de Versiones?

El control de versiones es un sistema que permite registrar los cambios realizados en un proyecto a lo largo del tiempo, facilitando volver a versiones anteriores, comparar modificaciones y trabajar de forma colaborativa sin perder el historial.

Imagina que estás desarrollando una página web y borras algo importante sin darte cuenta. Con Git, puedes volver fácilmente a una versión anterior del proyecto, como si usaras un “Ctrl + Z” gigante para todo el código.

🧩 2. Tipos de Sistemas de Control de Versiones

1. Locales:
Los cambios se guardan solo en el equipo. Ejemplo: guardar copias manuales del proyecto (poco seguro).
2. Centralizados:
Un solo servidor almacena el código y todos los usuarios se conectan a él. Ejemplo: Subversion (SVN).
3. Distribuidos:
Cada usuario tiene una copia completa del proyecto. Esto permite trabajar sin conexión y sincronizar después.
Ejemplo principal: Git.

🧩 3. ¿Qué es Git?

Git es un sistema de control de versiones distribuido creado por Linus Torvalds en 2005 (el mismo creador de Linux).
Permite:

- Guardar cada cambio del código.
- Colaborar con varios desarrolladores sin pisarse el trabajo.
- Llevar un historial completo del proyecto.

Git funciona desde la terminal o línea de comandos, lo que da control total al desarrollador sobre los archivos del proyecto.

🧩 4. ¿Qué es GitHub?

GitHub es una plataforma en línea que utiliza Git para almacenar repositorios en la nube, compartir proyectos y colaborar con otros programadores.
Piensa en Git como el “motor” y GitHub como la “red social” donde los proyectos viven.

Con GitHub puedes:

- Guardar y respaldar tus proyectos online.
- Trabajar en equipo (con ramas, merges y pull requests).
- Mostrar tu trabajo en tu portafolio profesional.

🧩 5. Instalación y Configuración Inicial

1. Descarga Git desde https://git-scm.com/ .
2. Instálalo (aceptando las opciones por defecto).
3. Abre la terminal o Git Bash y configura tu identidad:

git config --global user.name "Tu Nombre"
git config --global user.email "tu_correo@ejemplo.com"


Esto permitirá que cada cambio que hagas quede registrado con tu nombre.

🧩 6. Comandos Básicos Iniciales

Comando | Descripción
git --version | Verifica si Git está instalado correctamente.
git help | Muestra los comandos disponibles.
git config --list | Muestra la configuración actual.
git init | Crea un nuevo repositorio local.
git status | Muestra el estado actual del proyecto.
git add | Agrega archivos al área de preparación.
git commit -m "mensaje" | Guarda los cambios con un mensaje.

🧩 7. Flujo de Trabajo en Git (resumen visual)

Workspace (tu carpeta de trabajo)
     ↓
git add → Staging Area (prepara los archivos)
     ↓
git commit → Repositorio local (versión guardada)
     ↓
git push → Repositorio remoto (GitHub)

8. Git desde la consola de Node.js

Node.js incluye su propia terminal (Node Command Prompt o integrada en VS Code), donde se pueden ejecutar comandos de Git igual que en Git Bash.
Esto es ideal para programadores que ya están trabajando con Node o VS Code, porque todo el flujo se hace desde un solo entorno.

Para comprobar que Git está instalado:

git --version


Si aparece la versión (por ejemplo git version 2.44.0), significa que está listo para usarse.

🎯 Objetivo de la Unidad

Comprender la importancia del control de versiones en el desarrollo de software, conocer los conceptos fundamentales de Git y GitHub, y preparar el entorno de trabajo para gestionar proyectos desde la terminal y la nube.

🧩 1. ¿Qué es el Control de Versiones?

El control de versiones es un sistema que permite registrar los cambios realizados en un proyecto a lo largo del tiempo, facilitando volver a versiones anteriores, comparar modificaciones y trabajar de forma colaborativa sin perder el historial.

Imagina que estás desarrollando una página web y borras algo importante sin darte cuenta. Con Git, puedes volver fácilmente a una versión anterior del proyecto, como si usaras un “Ctrl + Z” gigante para todo el código.

🧩 2. Tipos de Sistemas de Control de Versiones

1. Locales:
Los cambios se guardan solo en el equipo. Ejemplo: guardar copias manuales del proyecto (poco seguro).
2. Centralizados:
Un solo servidor almacena el código y todos los usuarios se conectan a él. Ejemplo: Subversion (SVN).
3. Distribuidos:
Cada usuario tiene una copia completa del proyecto. Esto permite trabajar sin conexión y sincronizar después.
Ejemplo principal: Git.

🧩 3. ¿Qué es Git?

Git es un sistema de control de versiones distribuido creado por Linus Torvalds en 2005 (el mismo creador de Linux).
Permite:

- Guardar cada cambio del código.
- Colaborar con varios desarrolladores sin pisarse el trabajo.
- Llevar un historial completo del proyecto.

Git funciona desde la terminal o línea de comandos, lo que da control total al desarrollador sobre los archivos del proyecto.

🧩 4. ¿Qué es GitHub?

GitHub es una plataforma en línea que utiliza Git para almacenar repositorios en la nube, compartir proyectos y colaborar con otros programadores.
Piensa en Git como el “motor” y GitHub como la “red social” donde los proyectos viven.

Con GitHub puedes:

- Guardar y respaldar tus proyectos online.
- Trabajar en equipo (con ramas, merges y pull requests).
- Mostrar tu trabajo en tu portafolio profesional.

🧩 5. Instalación y Configuración Inicial

1. Descarga Git desde https://git-scm.com/ .
2. Instálalo (aceptando las opciones por defecto).
3. Abre la terminal o Git Bash y configura tu identidad:

git config --global user.name "Tu Nombre"
git config --global user.email "tu_correo@ejemplo.com"


Esto permitirá que cada cambio que hagas quede registrado con tu nombre.

🧩 6. Comandos Básicos Iniciales

Comando | Descripción
git --version | Verifica si Git está instalado correctamente.
git help | Muestra los comandos disponibles.
git config --list | Muestra la configuración actual.
git init | Crea un nuevo repositorio local.
git status | Muestra el estado actual del proyecto.
git add | Agrega archivos al área de preparación.
git commit -m "mensaje" | Guarda los cambios con un mensaje.

🧩 7. Flujo de Trabajo en Git (resumen visual)

Workspace (tu carpeta de trabajo)
     ↓
git add → Staging Area (prepara los archivos)
     ↓
git commit → Repositorio local (versión guardada)
     ↓
git push → Repositorio remoto (GitHub)

4. Git desde la consola de Node.js

Node.js incluye su propia terminal (Node Command Prompt o integrada en VS Code), donde se pueden ejecutar comandos de Git igual que en Git Bash.
Esto es ideal para programadores que ya están trabajando con Node o VS Code, porque todo el flujo se hace desde un solo entorno.

Para comprobar que Git está instalado:

git --version


Si aparece la versión (por ejemplo git version 2.44.0), significa que está listo para usarse.