¿Qué es Git?
Git es un sistema de control de versiones que te permite rastrear cambios en tu código y colaborar con otros desarrolladores.
Git es como... 📸
Imagina que Git es como una cámara súper inteligente que toma fotos de tu proyecto cada vez que haces cambios importantes.
Estados de Git: Como preparar una carta 📝
Piensa en Git como escribir una carta importante:
📝 Escribiendo
Estás editando tu código, como escribir en un borrador
📋 Revisando
Seleccionas qué cambios incluir (git add), como elegir qué poner en la carta
📮 Enviando
Guardas los cambios permanentemente (git commit), como enviar la carta
Comandos Esenciales de Git
git init
Setup
Inicializar un nuevo repositorio Git
git init mi-proyecto
git clone
Setup
Copiar un repositorio existente
git clone https://github.com/usuario/repo.git
git status
Info
Ver el estado actual de los archivos
git status
git add
Básico
Preparar archivos para commit
git add archivo.jsgit add .
git commit
Básico
Guardar cambios con un mensaje
git commit -m "Agregar nueva función"
git push
Sync
Enviar cambios al repositorio remoto
git push origin main
git pull
Sync
Traer cambios del repositorio remoto
git pull
git branch
Branch
Crear y gestionar ramas
git branch nueva-ramagit branch -d rama-vieja
git checkout
Branch
Cambiar entre ramas
git checkout maingit checkout -b nueva-rama
git merge
Avanzado
Combinar cambios de diferentes ramas
git merge feature-branch
GitFlow: Flujo de Trabajo con Ramas
Main Branch
Rama principal con código estable
Feature Branch
Nueva rama para desarrollar características
Pull Request
Solicitud para integrar cambios
Merge
Integración a la rama principal
GitHub Ecosystem
GitHub es una plataforma que extiende Git con herramientas de colaboración, gestión de proyectos y automatización.
Repository 📁
Espacio donde se almacena tu proyecto con todo su historial de cambios. Puede ser público (visible para todos) o privado.
Issues 🎫
Sistema para reportar bugs, solicitar características o discutir ideas. Como tickets de soporte para tu proyecto.
Pull Requests 🤝
Propuesta de cambios al código. Permite revisar, discutir y aprobar modificaciones antes de integrarlas.
GitHub Actions
Automatización de tareas como testing, deployment y integración continua. Robots que trabajan por ti.
Projects
Tableros Kanban para organizar issues y pull requests. Gestión visual del progreso del proyecto.
GitHub Pages
Hosting gratuito para sitios web estáticos. Convierte tu repositorio en una página web pública.
GitHub Copilot
Tu asistente de programación con IA
GitHub Copilot es un asistente de código impulsado por inteligencia artificial que te ayuda a escribir código más rápido sugiriendo líneas completas o funciones enteras.
Workflows & Conceptos Avanzados
Aprende sobre flujos de trabajo profesionales y cómo manejar situaciones complejas.
GitHub Flow
Un flujo de trabajo simple y efectivo usado por equipos de todo el mundo.
Create Branch
Crear rama para nueva característica
Add Commits
Desarrollar y hacer commits
Open PR
Crear Pull Request
Review
Revisar y discutir cambios
Deploy & Test
Probar en producción
Merge
Integrar a main
Merge Conflicts: ¡No te asustes!
¿Qué es un conflicto?
Ocurre cuando Git no puede automáticamente combinar cambios porque dos personas modificaron las mismas líneas de código.
¿Cómo resolverlo?
Ejemplo de conflicto:
<<<<<<< HEAD
console.log("¡Hola Mundo!");
=======
console.log("¡Hello World!");
>>>>>>> feature-branch
Tip: La parte entre HEAD y === es tu versión, la parte entre === y >>> es la otra versión.
Insights: Analiza tu Proyecto
Contributors
Ve quién contribuye más al proyecto
Pulse
Actividad reciente del repositorio
Network
Visualiza el árbol de ramas
Traffic
Estadísticas de visitas y clones
Security: Mantén tu Código Seguro
Dependabot
Detecta vulnerabilidades en dependencias automáticamente
Secret Scanning
Encuentra contraseñas y tokens expuestos accidentalmente
Code Scanning
Analiza el código en busca de vulnerabilidades
Wiki: Documentación Colaborativa
Crea documentación completa para tu proyecto. Tutoriales, guías de API, y cualquier información que tu equipo necesite compartir.
¿Listo para practicar?
Ahora que conoces la teoría, ¡es hora de poner en práctica lo aprendido!