¡Bienvenido al Control de Versiones!

Si alguna vez has guardado archivos como proyecto_final_v2_este_si.docx, entonces necesitas este curso. Aprenderás a usar Git, una «máquina del tiempo» para tu código, y GitHub, la red social más grande para programadores.

¿Qué aprenderás?

  • Qué es un sistema de control de versiones y por qué es fundamental.
  • Instalar y configurar Git en tu computador.
  • Crear repositorios locales y remotos en GitHub.
  • Dominar el ciclo de trabajo básico: `add`, `commit` y `push`.
  • Colaborar y trabajar de forma segura usando ramas.

Control de Versiones

Nunca más pierdas un cambio.

Colaboración

Trabaja en equipo sin conflictos.

Ramas de Desarrollo

Experimenta sin romper el código principal.

Módulo 1: Primeros Pasos con Git

¿Qué es Git y qué son los repositorios?

Git es un sistema de control de versiones. Piensa en él como una máquina del tiempo para tu código que guarda «fotografías» (llamadas commits) de tu proyecto. Un repositorio (o «repo») es la carpeta que contiene tu proyecto y todo su historial de cambios.

Instalación y Configuración

Primero, descarga e instala Git desde git-scm.com. Durante la instalación, puedes aceptar todas las opciones por defecto.

Luego, preséntate a Git. Abre una terminal (o Git Bash en Windows) y ejecuta estos comandos con tus datos:

git config --global user.name "Tu Nombre"
git config --global user.email "tu@correo.com"
Ejercicio: Instala Git en tu computador y ejecuta los dos comandos de configuración para registrar tu nombre y correo electrónico. Verifica la instalación con git --version.

Módulo 2: GitHub y Repositorios Remotos

Crear una cuenta y un repositorio en GitHub

GitHub es la plataforma más popular para alojar tus repositorios de Git en internet. Funciona como una copia de seguridad y como el punto central para la colaboración.

  1. Crea una cuenta gratuita en github.com.
  2. Una vez dentro, haz clic en «New repository».
  3. Dale un nombre a tu repositorio (ej: mi-primer-curso).
  4. Elígelo como Público para que otros puedan verlo.
  5. Importante: Marca la casilla «Add a README file».
  6. Haz clic en «Create repository».
¡Felicidades! Acabas de crear un repositorio remoto. Esta es la «casa» de tu proyecto en la nube. Ahora aprenderemos a traerlo a tu computador.

Módulo 3: Comandos Esenciales

GIT CLONE y PULL: Traer el código

git clone se usa una sola vez para descargar un repositorio de GitHub a tu computador.

# Ve a tu repo en GitHub, haz clic en "Code" y copia la URL HTTPS
git clone https://github.com/tu-usuario/tu-repositorio.git

git pull se usa para actualizar tu código local con los últimos cambios que existan en el repositorio remoto.

# Dentro de la carpeta de tu proyecto, ejecuta:
git pull

ADD, COMMIT y PUSH: El ciclo de trabajo

Este es el flujo que usarás todos los días.

  1. git add .: Prepara todos tus archivos modificados para ser guardados.
  2. git commit -m "Mensaje descriptivo": Guarda la «fotografía» de tus cambios con un mensaje que explique qué hiciste.
  3. git push: Sube tus cambios confirmados (commits) a GitHub.
Ejercicio: Clona el repositorio que creaste. Luego, modifica el archivo README.md, y usa el ciclo `add`, `commit` y `push` para subir tus cambios a GitHub.

Módulo 4: Ramas (Branches)

¿Qué son y cómo usarlas?

Una rama (branch) es una línea de desarrollo independiente. La rama principal se llama main y contiene el código estable. Siempre debes crear una nueva rama para trabajar en una nueva funcionalidad o arreglar un error.

# Crea una nueva rama y te cambia a ella
git checkout -b nombre-de-la-rama

# Ejemplo:
git checkout -b feature/agregar-login

GIT DIFF y MERGE: Comparar y fusionar

git diff te muestra las diferencias exactas entre tus archivos modificados y el último commit.

git merge se usa para fusionar los cambios de tu rama de vuelta a la rama main una vez que has terminado tu trabajo.

  1. Vuelve a la rama principal: git checkout main
  2. Actualízala: git pull
  3. Fusiona tu rama: git merge feature/agregar-login
  4. Sube el resultado: git push
Ejercicio: Crea una nueva rama llamada mi-rama-de-prueba. Haz un cambio en el README.md, haz un commit y luego regresa a `main` para fusionar tu rama de prueba.

Quiz Final: Pon a Prueba tus Conocimientos

Responde estas preguntas para evaluar lo que has aprendido. ¡Vamos a ver si eres un maestro de Git!

1. ¿Cuál es el comando para guardar tus cambios preparados con un mensaje?

Respuesta correcta: b. git commit guarda una «fotografía» de los cambios que preparaste con git add.

2. ¿Para qué sirve el comando `git clone`?

Respuesta correcta: c. git clone se usa una sola vez al inicio para crear una copia local de un repositorio remoto.

3. ¿Cuál es el propósito de crear una nueva rama (branch)?

Respuesta correcta: b. Las ramas te permiten experimentar y desarrollar nuevas características de forma segura y ordenada.

4. ¿Qué comando usarías para subir tus commits locales a GitHub?

Respuesta correcta: b. git push es el comando que envía tus cambios confirmados desde tu repositorio local al remoto en GitHub.

5. Quieres fusionar los cambios de una rama llamada `login` en tu rama `main`. ¿Qué comando usas DESPUÉS de cambiarte a `main`?

Respuesta correcta: a. Estando en la rama que recibirá los cambios (`main`), usas git merge seguido del nombre de la rama que quieres fusionar (`login`).

© 2025 Curso de Git y GitHub. Un recurso de Ciborg.cl.