GitHub es la plataforma de desarrollo colaborativo más utilizada del mundo, con más de 100 millones de desarrolladores alojando y gestionando código fuente con Git. Propiedad de Microsoft desde 2018, GitHub ofrece mucho más que alojamiento de repositorios: es un ecosistema completo para la colaboración, revisión de código, gestión de proyectos, automatización CI/CD, seguridad y despliegue.
La plataforma se ha convertido en el centro de gravedad del desarrollo de software moderno, especialmente del ecosistema open source. Desde pequeños proyectos personales hasta los repositorios más grandes del mundo, GitHub proporciona las herramientas necesarias para que equipos de cualquier tamaño colaboren de forma eficiente y segura.
Este itinerario recorre GitHub de principio a fin: desde los fundamentos de repositorios y la interfaz web hasta funcionalidades avanzadas como la API GraphQL, GitHub Apps y Codespaces, pasando por pull requests, issues, Projects v2, colaboración open source, GitHub Pages, Advanced Security y automatización.
Qué incluye este itinerario
- Fundamentos: qué es GitHub, configuración de cuenta, interfaz web y comparación con otras plataformas.
- Repositorios: creación, README, .gitignore, ramas, commits, GitHub CLI (gh) y GitHub.dev.
- Pull requests: creación, code review, estrategias de merge, draft PRs, templates y merge queue.
- Issues y Projects: gestión de tareas, labels, milestones, tableros Kanban con GitHub Projects v2 y automatización de workflows.
- Colaboración: forks, contribución open source, CODEOWNERS, branch protection, rulesets y organizaciones.
- Pages y Releases: hosting estático con GitHub Pages, releases, tags, changelogs, GitHub Packages y trusted publishing.
- Seguridad: Dependabot, code scanning con CodeQL, secret scanning, Advanced Security y buenas prácticas.
- Avanzado: API REST y GraphQL, webhooks, GitHub Apps y GitHub Codespaces.
GitHub moderno: IA, seguridad y automatización integradas
GitHub ha evolucionado desde ser un alojamiento de repositorios hasta una plataforma integral de desarrollo donde la IA asistida, la seguridad y la automatización conviven en el mismo flujo de trabajo. Las capas clave a tener en cuenta al trabajar hoy en GitHub son:
- Asistencia con IA integrada en el flujo de trabajo: Copilot Workspace permite planificar y aplicar cambios sobre un repositorio a partir de un issue; Copilot Spaces agrupa el contexto (ficheros, documentación, transcripciones) que se comparte con el asistente para que las respuestas usen el código real del equipo. Ambos funcionan dentro de las revisiones de pull request y se pueden invocar con comentarios directos.
- GitHub Projects v2: modelo de gestión con vistas tabla, tablero, hoja de ruta y gráfico, campos personalizados, iteraciones y workflows automáticos. Un Project v2 puede abarcar varios repositorios y se integra con issues, PRs y releases mediante la API GraphQL.
- Codespaces y devcontainers: entornos de desarrollo en la nube definidos por un archivo
devcontainer.json, arranque en segundos y prebuilds cacheados para acelerar la incorporación de nuevas personas al equipo. - Rulesets y branch protection declarativa: los rulesets sustituyen a las reglas clásicas en repos y organizaciones, aplican políticas sobre varias ramas o tags con un mismo documento y se pueden auditar desde la API.
- Advanced Security: CodeQL para análisis estático SAST, secret scanning con push protection, dependency review en cada PR y reporte privado de vulnerabilidades desde la pestaña Security.
- Trusted publishing y supply chain: publicación de paquetes npm, PyPI, Maven o contenedores firmados con OIDC desde GitHub Actions, sin credenciales de larga duración, y adjuntando attestations verificables por los consumidores.
Público objetivo
- Desarrolladores que quieren dominar GitHub como plataforma principal de desarrollo y colaboración.
- Equipos que necesitan establecer flujos de trabajo profesionales con pull requests, code review y CI/CD.
- Contribuidores open source que buscan entender el flujo fork-PR y las herramientas de la comunidad.
- DevOps e ingenieros de plataforma que gestionan repositorios, seguridad y automatización a escala.
Prerrequisitos: conocimientos básicos de Git (clone, commit, push, pull, branch). Familiaridad con la línea de comandos.