Boost Academy
FormaciónEvaluacionesPerfil
Volver
  • En directo

GitHub — Intermedio

10h de clase en directo·HACK A BOSS·Español

Skills que aprenderás

  • GitHub

Convocatorias

Necesitas un plan activo

Para acceder a los cursos en directo necesitas un plan activo. Estamos trabajando para que los planes estén disponibles pronto — ¡mantente atento!

No hay convocatorias abiertas ahora mismo, pero no te pierdas la oportunidad: guarda este curso y te avisamos en cuanto se abra una convocatoria.

Descripción

Objetivos

Temario

Requisitos técnicos

Conocimientos previos

Detalles de la convocatoria

Recursos

No hay recursos disponibles todavía para esta convocatoria

Dirigido a profesionales que ya dominan los fundamentos de Git y GitHub y trabajan —o van a trabajar— en entornos de colaboración real, este curso profundiza en los patrones y herramientas que permiten coordinar equipos de forma eficiente y sostenible. A lo largo de 10 horas los participantes aprenderán a diseñar y justificar estrategias de branching adecuadas a cada proyecto, a gestionar integraciones complejas eligiendo entre merge, rebase y squash, a depurar conflictos y estados problemáticos del repositorio, a orquestar el ciclo completo de revisión mediante Pull Requests bajo ramas protegidas, a automatizar fases del ciclo de integración con GitHub Actions y a planificar iteraciones vinculando Issues, Milestones y GitHub Projects; todo ello con el objetivo de que el participante sea capaz de liderar o contribuir con autonomía a un flujo de trabajo colaborativo profesional en GitHub.

Al finalizar el curso, el participante será capaz de:

  1. Comparar las estrategias de integración merge, rebase y squash and merge, diseñar una estrategia de branching justificada para un proyecto dado, y aplicar git cherry-pick para integrar commits específicos de otra rama cuando el merge completo no es apropiado.
  2. Reescribir el historial de una rama con git rebase -i (pick, squash, fixup, reword, drop) antes de abrir una Pull Request, y depurar conflictos de merge complejos y estados problemáticos del repositorio (detached HEAD, rebase interrumpido, historial divergente) sin pérdida de commits válidos.
  3. Integrar un flujo completo de Pull Request bajo ramas protegidas y configurar hooks de cliente (pre-commit, commit-msg) versionados que validan el código y el mensaje de commit antes de que salgan del repositorio local.
  4. Diseñar un workflow de GitHub Actions que automatice al menos una fase del ciclo de integración, y publicar releases en GitHub con tags anotados que apliquen versionado semántico y notas estructuradas de cambios.
  5. Gestionar el contexto de trabajo interrumpido con git stash, e integrar Issues, Milestones y un tablero de GitHub Projects para planificar una iteración vinculando cada Issue a su Pull Request.

Bloque 1 — Estrategias de branching, integración y cherry-pick. Se analizan los tres modelos de branching más extendidos —GitFlow, trunk-based development y feature branches— y se contrastan las estrategias de integración de GitHub —merge commit, rebase y squash and merge— estudiando su impacto en el historial. El bloque incorpora git cherry-pick como técnica complementaria: aplicar commits específicos de otra rama, resolver los conflictos que puedan surgir y justificar cuándo es preferible al merge completo.

Bloque 2 — Historial limpio y recuperación del repositorio. Se trabaja git rebase -i para reorganizar, fusionar y limpiar commits antes de abrir una Pull Request (pick, squash, fixup, reword, drop). A continuación se abordan los conflictos de merge complejos en ramas compartidas y los estados problemáticos del repositorio local —detached HEAD, rebase interrumpido e historial divergente—, con protocolos de diagnóstico y recuperación que garantizan que no se pierdan commits válidos.

Bloque 3 — Pull Requests, protección de ramas y hooks de cliente. Se recorre el ciclo completo de un Pull Request —descripción, revisores, comentarios y merge— bajo ramas protegidas con restricciones de push directo, revisiones mínimas y checks de estado. El bloque añade hooks de cliente como primera línea de calidad: se crean pre-commit y commit-msg que validan el código y el formato del mensaje, y se distribuyen al equipo mediante un directorio versionado en el propio repositorio.

Bloque 4 — GitHub Actions y releases con SemVer. Se diseña un workflow de GitHub Actions que automatiza al menos una fase del ciclo de integración —tests, linting o build— ante eventos de push o pull request, con atención a la estructura YAML, uso de actions del marketplace y depuración de logs. El bloque incorpora la gestión del ciclo de releases: tags anotados con versionado semántico, push al remoto y publicación de un release en GitHub con notas estructuradas que diferencian features, fixes y breaking changes.

Bloque 5 — Gestión del contexto de trabajo y proyectos. Se trabaja git stash para interrumpir el trabajo en curso, cambiar de contexto y recuperar los cambios apilados con mensajes descriptivos, eligiendo entre pop y apply según la situación. El bloque integra las herramientas de gestión de GitHub: Issues con etiquetas, Milestones con fecha de entrega, tablero de GitHub Projects con automatizaciones básicas y vinculación de cada Issue a su Pull Request correspondiente.

  • Sistema operativo: Windows 10/11, macOS 12 o superior, o distribución Linux con entorno de escritorio.
  • Git: versión 2.38 o superior instalada y configurada (user.name y user.email).
  • Cliente de GitHub: acceso a github.com con cuenta activa; se recomienda tener configurada autenticación por token PAT o SSH.
  • Editor de código: Visual Studio Code (recomendado) con la extensión GitHub Pull Requests and Issues instalada, o cualquier editor con soporte para diff y merge visual.
  • Conexión a Internet: necesaria durante toda la formación para interactuar con repositorios remotos y ejecutar workflows de GitHub Actions.
  • Repositorio de prácticas: se proporcionará un repositorio de plantilla en GitHub al inicio del curso; el participante deberá tener permisos para crear repositorios en su cuenta personal o en la organización asignada.
  • Uso cotidiano de Git en local: init, clone, add, commit, push y pull.
  • Comprensión del concepto de rama y experiencia creando y fusionando ramas sencillas.
  • Manejo básico de GitHub: creación de repositorios, fork, apertura de Pull Requests simples e interacción con Issues.
  • Familiaridad con la línea de comandos a nivel de navegación de directorios y ejecución de comandos.

Estos conocimientos se adquieren en el curso GGH01 — GitHub Iniciación (prerrequisito obligatorio).