HACK A BOSS
FormaciónEvaluacionesPerfil
Volver
  • En directo

Git: flujo colaborativo avanzado

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

Skills que aprenderás

  • Git

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

Curso de nivel intermedio para desarrolladores que ya dominan el flujo básico de Git y necesitan trabajar con eficacia en equipos que usan ramas, revisiones de código y automatización. El curso cubre la reescritura del historial con git rebase interactivo para limpiar commits antes de una PR, la aplicación selectiva de cambios con cherry-pick y stash, el diseño y justificación de una estrategia de ramas según el tipo de proyecto (Git Flow vs. trunk-based), el etiquetado de versiones con SemVer y la publicación de releases en GitHub, la configuración de hooks de cliente para automatizar validaciones en el flujo de commits, y la gobernanza del repositorio mediante branch protection rules y CODEOWNERS. Al finalizar, el participante será capaz de gestionar el historial, coordinar el flujo de su equipo y configurar las salvaguardas técnicas que garantizan la calidad del código en un repositorio compartido.

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

  • Reescribir y limpiar el historial de una rama con git rebase interactivo
  • Aplicar commits concretos de otra rama con git cherry-pick
  • Guardar y recuperar trabajo en curso sin commitear con git stash
  • Diseñar y justificar una estrategia de ramas según el tipo de proyecto
  • Etiquetar versiones con git tag y publicar releases en GitHub
  • Configurar hooks de cliente para automatizar validaciones en el flujo de commits
  • Configurar protecciones de rama y revisión de código en GitHub
  1. Historial limpio con rebase interactivo git rebase -i: comandos pick, squash, fixup, reword y drop; cuándo reescribir el historial y cuándo no (regla de la rama compartida); diferencia entre merge y rebase en términos de historial lineal vs. historial con contexto temporal; escenario práctico: limpiar una rama feature antes de abrir PR

  2. Gestión selectiva de cambios: cherry-pick y stash git cherry-pick <hash>: copiar un commit concreto de otra rama, casos de uso (hotfix en rama de release), resolución de conflictos en cherry-pick; git stash push -m "mensaje": guardar trabajo en curso para cambiar de contexto, git stash list, diferencia entre pop y apply, uso de drop para limpiar la pila

  3. Estrategias de ramas en equipo Git Flow: ramas de larga duración (main, develop, feature/, release/, hotfix/*), cuándo es adecuado (ciclos de release discretos, versionado semántico); trunk-based development: integración frecuente en main, feature flags, ramas de corta duración; criterios de selección: frecuencia de despliegue, tamaño del equipo, estabilidad de requisitos, regulación; diagnóstico de problemas habituales (branches largas, PRs gigantes)

  4. Tags, SemVer y releases en GitHub Versionado semántico (MAJOR.MINOR.PATCH): reglas de incremento según tipo de cambio; tags ligeros vs. tags anotados: diferencias y cuándo usar cada uno; git tag -a, git push origin <tag>; publicar un release en GitHub con notas estructuradas por tipo de cambio (features, bug fixes, breaking changes)

  5. Hooks de cliente Qué son los hooks de Git y cómo funcionan (exit code como señal de rechazo); hooks de cliente principales: pre-commit (linting, tests rápidos), commit-msg (validación del formato del mensaje), pre-push (tests de integración); distribuir hooks al equipo: directorio .githooks/ versionado con core.hooksPath; Husky como alternativa en proyectos Node.js

  6. Gobernanza del repositorio: branch protection y CODEOWNERS Branch protection rules en GitHub: PR obligatoria, número de aprobaciones requeridas, status checks, "Include administrators"; archivo CODEOWNERS: sintaxis de patrones de ruta, asignación de usuarios o equipos, activar "Require review from Code Owners" en la branch rule; verificación: intentar push directo y comprobar el rechazo

  • Git ≥ 2.30 instalado localmente
  • Cuenta en GitHub con permisos de administrador sobre al menos un repositorio de práctica
  • Editor de código (VS Code recomendado con la extensión GitLens)
  • Terminal (Git Bash en Windows, terminal nativa en macOS/Linux)
  • Node.js (opcional, para los ejercicios de Husky en el bloque de hooks)

→ GIT01 — Control de versiones con Git (Iniciación, 8h)

  • Configurar Git con identidad de usuario e inicializar un repositorio local
  • Gestionar el ciclo básico de cambios con status, add y commit
  • Revisar cambios con git diff y reconocer el estado del repositorio
  • Crear y cambiar entre ramas para trabajar en líneas separadas
  • Fusionar ramas y resolver conflictos básicos de merge
  • Conectar un repositorio local con un remoto y sincronizar cambios
  • Clonar repositorios remotos y diagnosticar errores frecuentes
  • Interpretar el historial de cambios con git log
  • Configurar .gitignore para excluir archivos innecesarios del versionado
  • Distinguir cuándo usar git revert y cuándo git reset en casos básicos
  • Crear una Pull Request básica y enlazar Issues relacionados en GitHub