Domina Git desde cero
Git no es solo una herramienta, es tu red de seguridad. Aprende a controlar el tiempo y el espacio de tu código.
¿Qué es el Control de Versiones?
Imagina que estás escribiendo un libro. Sin control de versiones, tendrías archivos como borrador_final_v2_este_si.doc.
Un VCS es una herramienta que registra cada cambio en tus archivos para que puedas volver al pasado, comparar versiones y trabajar con otros sin sobrescribir sus progresos.
¿Por qué Git es el estándar?
Creado por Linus Torvalds, Git es distribuido. Esto significa que cada desarrollador tiene una copia completa del historial en su propia computadora.
- Es extremadamente rápido y eficiente.
- Permite crear "ramas" para experimentar sin miedo.
- Es el lenguaje universal de la industria tech.
Pilares de Git
Historial Infinito
Nunca pierdas una línea de código. Cada cambio es una "foto" del tiempo.
Trabajo Paralelo
Trabaja en múltiples versiones a la vez usando ramas (branches).
Colaboración
Simplifica integrar el trabajo de equipos enteros sin conflictos.
01. Descarga e Instalación
Antes de configurar nada, necesitas tener Git en tu sistema. Puedes descargarlo directamente o usar un gestor de paquetes.
Windows
Descarga el instalador oficial .exe
macOS
Instala el dmg o usa gestores.
Linux
Instálalo desde tu gestor nativo.
Método por Terminal
Windows (Winget)
$winget install --id Git.Git -e --source winget Usando el gestor de paquetes de Windows.
macOS (Homebrew)
$brew install git El estándar de terminal en Mac.
Linux (Ubuntu/Debian)
$sudo apt install git Comando nativo para sistemas Debian/Ubuntu.
¿Problemas en Windows?
1. Reinicia tu Terminal
Si acabas de instalar Git, cierra y vuelve a abrir VS Code o PowerShell para que reconozca los cambios.
2. Revisa el PATH
Si el error persiste, asegúrate de que C:\Program Files\Git\cmd esté en las variables de entorno de tu sistema.
¿Cómo saber si ya lo tengo?
Abre una terminal y escribe el siguiente comando:
$git --version Si te devuelve una versión de git, ¡ya estás listo!
02. Configuración Inicial
Antes de empezar, Git necesita saber quién eres para firmar tus cambios.
$git config --global user.name 'Tu Nombre' Configura tu nombre de usuario globalmente.
$git config --global user.email 'tu@email.com' Configura tu correo electrónico (usa el de GitHub).
Identidad vs Autenticación
¡Importante! Estos comandos solo sirven para darle "autoría" a tus commits. Para clonar o publicar en GitHub, la terminal te pedirá loguearte (autenticarse) la primera vez que intentes realizar una acción remota.
03. Navegación por Terminal
Para usar Git, primero debes saber moverte por las carpetas de tu computadora. Estos son los comandos básicos "no-git" que usarás todo el tiempo:
$mkdir mi-proyecto Crea una carpeta nueva llamada 'mi-proyecto'.
$cd "mi-proyecto" Entra en la carpeta. Usa comillas si el nombre tiene espacios o guiones.
$cd .. Retrocede una carpeta (vuelve al nivel anterior).
$ls Lista los archivos (Linux/Mac/Git Bash).
$dir Lista los archivos (Windows CMD/PowerShell).
$pwd Muestra la ruta completa de la carpeta actual.
Guía de Rutas y Caracteres
Rutas Completas
Puedes ir directo a una carpeta usando su ruta total: cd C:\Proyectos\web
¿Comillas?
Obligatorias si hay espacios. Opcionales pero recomendadas con guiones - o puntos.
Caracteres
Evita usar ñ, á, é o símbolos raros en tus carpetas. Usa siempre kebab-case.
04. El Ciclo de Vida
El flujo básico: modificar archivos, prepararlos y confirmar los cambios. Úsalo aquí mismo para ver cómo funciona:
Terminal Interactiva
branch: mainEstado de Archivos
LALK School Git Shell v1.0
Escribe 'help' para comandos disponibles.
Repositorio (Commit Graph)
$git init Inicia un repositorio nuevo en la carpeta actual.
$git add info.txt Prepara un archivo específico (puedes listar varios).
$git add . Prepara TODOS los archivos modificados a la vez.
$git commit -m "Mi primer cambio" Confirma los cambios. El "-m" significa "mensaje" y es obligatorio
$git status Mira el estado actual: ¿qué archivos están listos?
$git diff Muestra los cambios detallados en tus archivos antes de hacer 'add'.
$git commit -am "Cambio rápido" ¡Atajo! Hace el 'add' y el 'commit' de archivos seguidos en un solo comando (solo para archivos ya rastreados).
$git log --oneline Muestra una lista resumida de tus fotos (commits).
$git rm archivo.txt Borra el archivo de tu carpeta y prepara el borrado para el siguiente commit.
$git rm --cached archivo.txt Deja de rastrear el archivo en Git pero MANTIENE el archivo en tu computadora.
$git restore --staged app.js Saca un archivo del área de preparación (unstage).
Tip Pro: El archivo .gitignore
Crea un archivo llamado .gitignore para decirle a Git qué cosas NO debe rastrear (como carpetas node_modules o archivos de configuración personales).
05. El Arte del Commit
Hacer un commit no es solo guardar. Es documentar el progreso. Aquí tienes las reglas de oro:
Atomic Commits
Un commit debe hacer una sola cosa. No mezcles "Arreglar login" con "Cambiar color de fondo". Si algo se rompe, es más fácil saber qué fue.
Mensajes Descriptivos
Usa el imperativo: "Add user auth" en vez de "Agregué auth" o "Cosas". Evita mensajes vagos.
Título y Descripción:
Si usas GitHub Desktop, verás dos campos. En terminal:
git commit -m "Título" -m "Descripción detallada..." Convenciones (Conventional Commits)
Nueva funcionalidad
Corrección de un error
Solo cambios en documentación
Cambios de formato, CSS, etc.
Error Común
"No commitear durante días y luego subir 50 archivos de golpe con el mensaje 'Terminé todo'."
06. Ramas (Branching)
Las ramas permiten trabajar en nuevas funciones sin romper la versión principal. Experimenta creando una rama y haciendo un merge:
Terminal Interactiva
branch: mainEstado de Archivos
LALK School Git Shell v1.0
Escribe 'help' para comandos disponibles.
Repositorio (Commit Graph)
$git branch nueva-feature Crea una rama nueva llamada 'nueva-feature'.
$git checkout nueva-feature Cámbiate a la rama 'nueva-feature'.
$git checkout -b otra-feature ¡Atajo! Crea la rama y cámbiate a ella en un solo paso.
$git merge nueva-feature Combina los cambios de 'nueva-feature' en tu rama actual.
Buena Práctica: ¿Hacer "git pull"?
¡Excelente recomendación! Siempre que te cambies a una rama (especialmente si trabajas en equipo), es ideal ejecutar git pull. Esto asegura que tengas la última versión del código antes de empezar a trabajar, evitando conflictos innecesarios cuando intentes subir tus cambios más tarde.
07. ¿Te equivocaste? ¡No entres en pánico!
En Git, nada es permanente. Puedes volver en el tiempo, descartar cambios y restaurar archivos si algo sale mal.
Borrar cambios locales
$git checkout -- info.txt Descarta los cambios NO preparados de un archivo.
⚠️ ¡Cuidado! Esto no se puede recuperar.
Quitar del área de preparación
$git restore --staged info.txt Saca el archivo del 'staging area' pero guarda tus cambios.
Volver a un punto anterior
Usa `git log --oneline` para ver el ID del commit al que quieres volver:
$git reset --hard [id-commit] ¡Bomba atómica! Mueve todo tu proyecto a ese commit y BORRA todo lo posterior.
$git revert [id-commit] Más seguro: Crea un nuevo commit que compensa el commit indicado (no borra historial).
08. GitHub: Tu Código en la Nube
GitHub es la plataforma donde vive tu código. No confundas Git (la herramienta) con GitHub (el servicio de alojamiento).
Ahorra tiempo:
Para no escribir tu contraseña en cada push, instala el GitHub CLI y usa gh auth login una sola vez.
Colaboración Segura
Trabaja con otros usando Pull Requests sin miedo a sobreescribir código.
Portafolio Profesional
Muestra tus proyectos al mundo y contribuye al Open Source.
Comandos Remotos
$git clone https://github.com/usuario/repo.git Copia un proyecto remoto a tu PC por primera vez.
$git pull Trae y combina los cambios más recientes del servidor.
$git push Sube tus commits (cambios confirmados) al servidor.
09. Tu Primera Aportación
Tutorial Práctico: Tu primer "Push"
Sigue este flujo paso a paso para clonar un proyecto, trabajar en él y subir tus cambios a la nube.
Clonar el Repositorio
Descarga una copia exacta del proyecto desde GitHub a tu PC. Copia la URL del botón "Code" en GitHub.
$git clone https://github.com/usuario/mi-proyecto.git Descarga la carpeta del proyecto completa.
Entrar al Proyecto
Muévete dentro de la carpeta que acabas de descargar para empezar a trabajar.
$cd mi-proyecto Cambia el foco de la terminal a tu nuevo repo.
Hacer cambios y Confirmar
Crea o edita archivos en tu editor favorito. Luego guarda esos cambios en el historial de Git.
$git add . Prepara tus cambios para la foto.
$git commit -m "feat: mi primera mejora" Guarda la foto localmente.
Subir a GitHub (Push)
Envía tus fotos (commits) locales al servidor de GitHub para que otros los vean o por seguridad.
$git push origin main Sube la rama 'main' a la nube.
¡Misión cumplida! 🚀
Ahora tu código está seguro en la nube. Si trabajas en equipo, tus compañeros ahora pueden usar git pull para recibir tus cambios.
¡Ya estás listo!
Recuerda: Git se aprende practicando. No tengas miedo de romper cosas (para eso está Git).
Volver a Cursos