Envíanos tu consulta
Términos y condiciones *
logoImagina
Formación
Modalidades
Próximas Convocatorias
Temario
FAQ
Solicitar información
iconoCurso

Curso de Git: Control de Versiones

DISPONIBLE EN MODALIDAD:
aMedidaIcon
Aula Virtual Personalizada
arrowRightDark

Aprende a usar Git desde cero y avanza hasta dominar flujos de trabajo avanzados como GitFlow. Este curso incluye estrategias para resolver conflictos, gestionar ramas y optimizar integraciones con CI/CD, ideal para equipos técnicos que buscan maximizar su productividad y eficiencia en proyectos colaborativos.

iconClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClient

Formación en Git: Control de Versiones bonificable para empresas

A quién va dirigido nuestro curso de Git: Control de Versiones

Desarrolladores, administradores de sistemas, y equipos técnicos que deseen optimizar sus flujos de trabajo colaborativos y maximizar el uso de Git en sus proyectos.

Objetivos de nuestro curso de Git: Control de Versiones

  • Comprender los fundamentos del control de versiones y su importancia en el desarrollo moderno.
  • Aprender a usar Git desde la línea de comandos y herramientas gráficas para flujos colaborativos.
  • Dominar GitFlow y trunk-based development como estrategias de trabajo en equipo.
  • Resolver conflictos de fusión y administrar el historial de cambios de manera eficaz.
  • Integrar Git con herramientas de CI/CD y automatizar procesos clave del ciclo de vida de software.

Qué vas a aprender en nuestro curso de Git: Control de Versiones

Aprende a usar Git desde cero y avanza hasta dominar flujos de trabajo avanzados como GitFlow. Este curso incluye estrategias para resolver conflictos, gestionar ramas y optimizar integraciones con CI/CD, ideal para equipos técnicos que buscan maximizar su productividad y eficiencia en proyectos colaborativos.

Requisitos de nuestro curso de Git: Control de Versiones

  • Fundamentos en el uso de la terminal y sistema de ficheros
  • Tener un equipo con acceso a un usuario con permisos de instalación, conexión estable, mínimo 8GB de RAM, 20GB de espacio en memoria libre.
  • Instalaciones previas Git (última versión estable) y Visual Studio Code (última versión estable)
  • Tener una cuenta de Github con la clave SSH configurada para trabajar con repositorios remotos desde el equipo que se empleará en el curso.

Temario del curso de Git: Control de Versiones

tema 1

Introducción a Git y el Control de Versiones

  • ¿Qué es Git y por qué es importante?
  • Historia y evolución del control de versiones
  • Diferencias entre Git y sistemas tradicionales como SVN
  • Instalación de Git en diferentes sistemas operativos
  • Configuración inicial: nombre, email y editor predeterminado
  • Comandos básicos: `git init`, `git status`, `git log`
  • Ejercicio: Crear tu primer repositorio local con Git
  • Introducción a plataformas remotas: GitHub, GitLab y Bitbucket
  • Repositorios locales vs. remotos: ¿cuándo usar cada uno?
  • Escenarios donde Git es indispensable en el desarrollo moderno
iconArrowDown
tema 2

Fundamentos del Repositorio Git

  • Creación y configuración de repositorios locales
  • Clonación de repositorios remotos
  • Añadir archivos al índice con `git add`
  • Confirmar cambios con `git commit`
  • Exploración del historial con `git log` y `git reflog`
  • Ignorar archivos no deseados con `.gitignore`
  • Uso de `README.md` para documentar proyectos
  • Ejercicio práctico: Configuración básica de un repositorio
  • Buenas prácticas al estructurar un repositorio
  • Cómo preparar un proyecto para compartirlo en un repositorio remoto
iconArrowDown
tema 3

Gestión de Ramas (Branching) en Git

  • ¿Qué son las ramas en Git y por qué son esenciales?
  • Crear, listar y cambiar ramas con `git branch` y `git checkout`
  • Integración de cambios con `git merge`
  • Resolución de conflictos en fusiones
  • Estrategias avanzadas: `git rebase` para un historial limpio
  • Uso de `git stash` para trabajo temporal
  • Eliminación y limpieza de ramas locales y remotas
  • Visualización del grafo de ramas con herramientas gráficas
  • Ejercicio práctico: Crear y fusionar ramas en un proyecto simulado
  • Buenas prácticas en la gestión de ramas colaborativas
iconArrowDown
tema 4

Flujos de Trabajo Avanzados: GitFlow

  • Introducción a GitFlow y sus ventajas
  • Configuración de GitFlow en un proyecto
  • Ramas principales en GitFlow: master/main y develop
  • Ramas de soporte en GitFlow: feature, release, hotfix
  • Crear y gestionar una rama de funcionalidad (`feature`)
  • Gestión de ramas de lanzamiento (`release`) en GitFlow
  • Solución de problemas críticos con ramas `hotfix`
  • Integración de GitFlow en flujos CI/CD
  • Comparación con trunk-based development
  • Ejercicio práctico: Implementar GitFlow en un proyecto colaborativo
iconArrowDown
tema 5

Trabajando con Repositorios Remotos

  • ¿Qué es un repositorio remoto y cómo funciona con Git?
  • Añadir y gestionar remotos con `git remote`
  • Sincronización de cambios: `git fetch` vs. `git pull`
  • Subir cambios al servidor con `git push`
  • Introducción a forks y pull requests
  • Claves SSH para autenticación segura
  • Estrategias para trabajar con equipos distribuidos
  • Resolución de problemas comunes al sincronizar cambios
  • Ejercicio práctico: Configuración y colaboración en repositorios remotos
  • Buenas prácticas en proyectos remotos colaborativos
iconArrowDown
tema 6

Resolución de Conflictos en Git

  • Identificación de conflictos al fusionar ramas
  • Uso de `git diff` para analizar diferencias
  • Herramientas gráficas para resolver conflictos (VS Code, Meld, etc.)
  • Recuperación de versiones anteriores con `git checkout` y `git revert`
  • Creación de stashes para trabajo temporal con `git stash`
  • Resolución de conflictos en entornos colaborativos
  • Ejercicio práctico: Resolver un conflicto en un escenario simulado
  • Análisis de errores comunes y su solución
  • Mejores prácticas para minimizar conflictos en proyectos
  • Uso de herramientas como GitLens para analizar conflictos
iconArrowDown
tema 7

Automatización con Hooks de Git

  • ¿Qué son los hooks en Git y cómo se configuran?
  • Implementación de `pre-commit` para validar código antes de confirmar
  • Automatización de pruebas unitarias con `pre-push`
  • Personalización de mensajes de commit con `prepare-commit-msg`
  • Creación de hooks globales y locales
  • Ejemplo práctico: Hook para formatear código automáticamente
  • Integración con herramientas externas mediante hooks
  • Comparación entre hooks locales y sistemas de CI/CD
  • Ejercicio práctico: Configuración y uso de hooks en un proyecto real
  • Buenas prácticas al trabajar con hooks en equipos
iconArrowDown
tema 8

Historia y Análisis de Cambios

  • Navegación avanzada del historial con `git log` y `git reflog`
  • Revisión de cambios con `git diff` y `git blame`
  • Recuperación de archivos eliminados con `git checkout`
  • Análisis de contribuciones individuales con `git shortlog`
  • Uso de herramientas gráficas para explorar el historial
  • Ejercicio práctico: Auditar cambios en un proyecto real
  • Buenas prácticas en la documentación del historial
  • Casos prácticos: Uso del historial para depuración y análisis
  • Recuperación de ramas eliminadas accidentalmente
  • Herramientas para visualizar el historial en equipos grandes
iconArrowDown
tema 9

Integración de Git en CI/CD

  • ¿Qué es CI/CD y cómo se relaciona con Git?
  • Configuración básica en GitLab CI, Jenkins y GitHub Actions
  • Uso de Git para activar pipelines automáticos
  • Estrategias para mantener un historial limpio en entornos CI/CD
  • Ejemplo práctico: Pipeline con GitHub Actions
  • Integración de pruebas automáticas en flujos CI/CD
  • Mejores prácticas para Git en entornos de integración continua
  • Automatización de despliegues utilizando Git
  • Casos reales de integración Git + CI/CD
  • Ejercicio práctico: Crear un pipeline básico con Git
iconArrowDown
tema 10

Proyecto Final

  • Configuración de un repositorio desde cero
  • Implementación de GitFlow en un proyecto simulado
  • Colaboración en equipo mediante pull requests
  • Resolución de conflictos en un entorno colaborativo
  • Automatización de pruebas y validación con hooks
  • Configuración de pipelines CI/CD con GitHub Actions
  • Documentación detallada del proyecto usando markdown
  • Presentación del proyecto final y retroalimentación
  • Análisis de puntos fuertes y áreas de mejora
  • Reflexión sobre la implementación de Git en flujos de trabajo reales
iconArrowDown