Taller de Control de Versiones con Git (CTHRR002)


Git es la aplicación más usada para controlar versiones en el mundo. Éste permite crear repositorios que almacenan el código que forma un proyecto de desarrollo. A través de comandos permite integrar de manera ordenada, cambios provenientes de distintos desarrolladores y equipos. Habilita, a través de un modelo de participación muy flexible, la colaboración tanto entre individuos cómo entre equipos.

Descripción General

Este curso persigue que el alumno comprenda cómo usar Git para:

  1. Gestionar los cambios hechos a un software a nivel equipo.
  2. Integrar los cambios hechos por distintos equipos a un mismo proyecto.
  3. Entender distintos flujos de trabajo aplicables a distintos modelos y tamaños de organización.

Dirigido a:

  • Arquitectos de software
  • Desarrolladores
  • Coordinadores de equipos de trabajo
  • Gerentes o administradores de áreas de desarrollo

Objetivo

Que el alumno aprenda a usar Git como desarrollador y como integrador de versiones de un proyecto

Se recomienda cuando:

El interesado :

  • Debe integrarse a un proyecto que ya usa Git
  • Desea implantar un control de versiones eficaz en su organización
  • Desea mejorar significativamente la colaboración entre los miembros de un equipo o entre distintos equipos que trabajan en el mismo proyecto

Contenido: Temas principales

  1. Git y el Control de Versiones
    • Qué es el control de versiones
    • Características distintivas de Git
    • Organización de repositorios
  2. Fundamentos de los Repositorios
    • Clonado de repositorios remotos
    • Creación de repositorios nuevos
    • Registro de cambios: Operación Commit
    • Ciclo de vida de un cambio
    • Rol del área de preparación
    • Configuración inicial de un repositorio
    • Ayudas de Git
    • Estados del repositorio
    • Análisis de cambios
    • Borrado de elementos
    • Recuperación de elementos eliminados accidentalmente
  3. Exploración y consultas en repositorios
    • Consultas generales a nivel commit
    • Búsquedas de commits
    • Consultas de detalles
    • Consultas y búsquedas a nivel archivo
  4. Gestión de ramificaciones (branches)
    • Qué son y para qué sirven las ramas
    • Creación de nuevas ramas
    • Navegación entre ramas
    • Consultas a nivel rama
    • El estado «Detached Head»
    • Manejo de referencias relativas
    • Integración de Ramas
    • Reorganización de la historia y de las ramas
    • Actualizaciones parciales entre ramas: Cherry Pick
  5. Interacción con repositorios remotos
    • Enlace con repositorios remotos
    • Ramas de seguimiento remoto
    • Sincronización de cambios: fetch, pull, push y merge
    • Borrado de ramas remotas
  6. Organización del trabajo entre equipos
    • Los Flujos de trabajo que más se usan
    • GitHub como repositorio remoto
    • El Flujo Centralizado
    • Flujo «Feature Branch»
    • El Flujo «GitFlow»
    • Flujo «Forking»

Duración

30 horas

Prerrequisitos

Tener experiencia en algún rol del proceso de desarrollo dentro de un equipo de trabajo