Los sistemas de control de versiones (VCS) gestionan y rastrean los cambios de código a lo largo del tiempo, lo que facilita una colaboración eficiente. Registran los cambios en los archivos, permiten revertir a versiones anteriores y mantienen el historial de modificaciones. Pueden centralizarse (Subversion) o distribuirse (Git, Mercurial) para facilitar la colaboración y la integridad del código.
Git
Git es un sistema de control de versiones distribuido.
Esto significa que permite guardar el historial completo de los cambios que se hacen en un proyecto (por ejemplo, un sitio web o una aplicación), y además trabajar en equipo sin perder información.
En palabras simples:
Git registra cada cambio que hacés en tus archivos, para que puedas volver atrás, comparar versiones o colaborar con otros sin sobrescribir el trabajo ajeno.
🧩 Características principales:
-
📜 Historial completo: Guarda todos los cambios realizados, quién los hizo y cuándo.
-
🔁 Versiones: Podés volver a versiones anteriores del proyecto.
-
👥 Trabajo colaborativo: Permite que varias personas trabajen sobre el mismo proyecto y luego integren sus aportes.
-
🌍 Distribuido: Cada desarrollador tiene una copia completa del repositorio, no solo los archivos actuales sino todo el historial.
-
💾 Seguridad: Los datos se almacenan y verifican mediante un algoritmo (SHA-1), lo que evita pérdidas o corrupción.
Sitio oficial: https://git-scm.com/
🌐 ¿Qué es GitHub?
● Plataforma para alojar repositorios Git
● Funciona como red social profesional para desarrolladores
● Permite compartir, revisar y colaborar en proyectos
● Repositorios pueden ser públicos o privados
🛠 Herramientas necesarias
- Editor de código: Visual Studio Code (recomendado), Atom, Sublime Text
- Terminal: PowerShell, Terminal (Windows), iTerm (Mac), terminal estándar (Linux)
- Git: Sistema de control de versiones. Descargar desde git-scm.com
📦 Flujo básico de trabajo
1. Crear repositorio local
git init
2. Crear archivo HTML base
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Ejemplo de HTML para Git</title>
</head>
<body>
<h1>Estoy aprendiendo Git</h1>
</body>
</html>
3. Verificar instalación de Git
git --version
4. Agregar archivo al área de preparación (stage)
git add ejemplo.html
5. Confirmar cambios (commit)
git commit -m "Mi primer commit"
6. Configurar identidad (si es la primera vez)
git config --global user.name "userGithub"
git config --global user.email "mailasdf@asdf.com"
🔄 Conexión con GitHub
- Crear repositorio en GitHub (sin README ni licencia)
- Conectar repositorio local con remoto
git remote add origin https://github.com/usuario/repositorio.git
git remote -v
3. Enviar cambios (push)
git push -u origin main
📥 Traer cambios del repositorio remoto
git fetch
git pull
git status
🧪 Revertir cambios y ver historial
git log
git revert SHA
📥 Clonar un repositorio existente
git clone https://github.com/usuario/repositorio.git .
El punto (.) evita crear una subcarpeta adicional.
🧠 Conceptos clave
- Commit: Caja cerrada con cambios, mensaje y firma del autor
- Stage: Área de preparación antes del commit
- Push: Envío de cambios al repositorio remoto
- Pull: Descarga de cambios desde el remoto
- Fetch: Consulta de cambios sin descargarlos
- Fork: Copia para modificar sin afectar el original
- Clone: Descarga para trabajar bajo las reglas del proyecto
Ejercicios:
1 Versionar su sitio web
📚 Glosario técnico
| Término | Definición | |
|---|---|---|
| Repositorio | Carpeta que contiene todos los archivos y el historial de cambios | |
| Commit | Registro de cambios con mensaje y autoría | |
| Push | Envío de cambios al repositorio remoto | |
| Pull | Descarga de cambios desde el repositorio remoto | |
| Fetch | Consulta de cambios disponibles sin descargarlos | |
| Stage | Área de preparación antes de confirmar cambios | |
| Fork | Copia de un repositorio para modificarlo sin afectar el original | |
| GitHub Actions | Automatizaciones que se ejecutan sobre el código |



