Git&GitHubWorkshop

¿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.

Historial: Como un álbum de fotos de tu código
Colaboración: Varios fotógrafos trabajando juntos
Respaldo: Las fotos nunca se pierden
Ramas: Como tomar fotos en paralelo

Estados de Git: Como preparar una carta 📝

Piensa en Git como escribir una carta importante:

1

📝 Escribiendo

Estás editando tu código, como escribir en un borrador

2

📋 Revisando

Seleccionas qué cambios incluir (git add), como elegir qué poner en la carta

3

📮 Enviando

Guardas los cambios permanentemente (git commit), como enviar la carta

Comandos Esenciales de Git

git init Setup

Inicializar un nuevo repositorio Git

Ejemplo: git init mi-proyecto
git clone Setup

Copiar un repositorio existente

Ejemplo: git clone https://github.com/usuario/repo.git
git status Info

Ver el estado actual de los archivos

Uso: git status
git add Básico

Preparar archivos para commit

Ejemplos: git add archivo.js
git add .
git commit Básico

Guardar cambios con un mensaje

Ejemplo: git commit -m "Agregar nueva función"
git push Sync

Enviar cambios al repositorio remoto

Ejemplo: git push origin main
git pull Sync

Traer cambios del repositorio remoto

Uso: git pull
git branch Branch

Crear y gestionar ramas

Ejemplos: git branch nueva-rama
git branch -d rama-vieja
git checkout Branch

Cambiar entre ramas

Ejemplos: git checkout main
git checkout -b nueva-rama
git merge Avanzado

Combinar cambios de diferentes ramas

Ejemplo: git merge feature-branch

GitFlow: Flujo de Trabajo con Ramas

1

Main Branch

Rama principal con código estable

2

Feature Branch

Nueva rama para desarrollar características

3

Pull Request

Solicitud para integrar cambios

4

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 📁

Como una carpeta mágica que recuerda todos los cambios que has hecho.

Espacio donde se almacena tu proyecto con todo su historial de cambios. Puede ser público (visible para todos) o privado.

Código Historial Colaboradores

Issues 🎫

Como tickets en el cine pero para problemas y ideas de tu proyecto.

Sistema para reportar bugs, solicitar características o discutir ideas. Como tickets de soporte para tu proyecto.

Bugs Features Discusión

Pull Requests 🤝

Como pedir permiso antes de entrar a la casa de alguien con tus cambios.

Propuesta de cambios al código. Permite revisar, discutir y aprobar modificaciones antes de integrarlas.

Review Merge Colaboración

GitHub Actions

Automatización de tareas como testing, deployment y integración continua. Robots que trabajan por ti.

CI/CD Testing Deploy

Projects

Tableros Kanban para organizar issues y pull requests. Gestión visual del progreso del proyecto.

Kanban Planning Tracking

GitHub Pages

Hosting gratuito para sitios web estáticos. Convierte tu repositorio en una página web pública.

Hosting Static Gratis

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.

Sugerencias inteligentes
Múltiples lenguajes
Desarrollo más rápido

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.

1

Create Branch

Crear rama para nueva característica

2

Add Commits

Desarrollar y hacer commits

3

Open PR

Crear Pull Request

4

Review

Revisar y discutir cambios

5

Deploy & Test

Probar en producción

6

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?

1 Git marca las líneas en conflicto
2 Tú decides qué código mantener
3 Eliminas las marcas de conflicto
4 Haces commit de la resolución

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.

Colaborativa Buscable Versionada

¿Listo para practicar?

Ahora que conoces la teoría, ¡es hora de poner en práctica lo aprendido!