Ficha técnica del curso

Objetivos

  • Entender cómo funciona git, el modelo de objetos y la estructura de datos que gestiona los commits de un repositorio
  • Entender qué son las ramas en git y su funcionamiento. Aprender a utilizarlas para trabajar en equipo
  • Entender qué es un repositorio remoto y aprender el funcionamiento del comando push
  • Aprender y poner en práctica diferentes flujos de trabajo en git

¿A quién va dirigido? Equipos de desarrollo con experiencia previa en el uso de git.

Duración: 32 horas repartidas en dos semanas

¿Subvencionable a través de FUNDAE?

Cliente de git: Sourcetree y línea de comandos

¿Porqué una modalidad a distancia? Tras 7 años impartiendo cursos de git, recomendamos la modalidad presencial siempre sobre la modalidad online para sacar el máximo rendimiento al curso.
Cuando los equipos están distribuidos y no es posible impartir el curso avanzado en modalidad presencial podemos impartir una modalidad a distancia.

Temario

Tema 1: ¿qué es un commit?

  • Git sólo sabe hacer tres cosas...
  • ¿Qué pasa cuando haces un commit?
  • La carpeta .git/objects
  • El indice de git, el área de trabajo y el repositorio
  • El flujo de trabajo más sencillo para empezar a trabaja con git

Tema 2: Tags y ramas

  • Etiquetando commits con tags
  • ¿Qué es un tag?
  • Referencias: entendiendo qué es una rama en git
  • El comando checkout y HEAD
  • Detached HEAD
  • Integración de ramas con merge
  • Flujos de trabajo con ramas

Tema 3: Trabajando con referencias y el grafo de git

  • El grafo de git: entendiendo cómo funciona la estructura de datos que almacena nuestros commits
  • El reflog: recuperando commits
  • ¿Cómo funciona el recolector de basura?
  • El comando reset a fondo (mixed, soft y hard)
  • Borrado de commits... de verdad

Tema 4: Repositorios remotos

  • Qué es y cómo funciona un repositorio remoto
  • El comando push
  • Trabajando en equipo
  • Permisos de ramas y ramas protegidas

Tema 5: El comando push a fondo

  • El comando push no es lo que parece...
  • Sintaxis completa del comando push
  • Entendiendo el comando push -f

Tema 6: Pull requests

  • ¿Qué es un pull request?
  • Ramas protegidas
  • Hacer pull-requests de manera "artesana"
  • Pull requests a través de github / bitbucket / gitlab
  • Ventajas e inconvenientes del uso de pull requests
  • Code reviews a través de github / bitbucket / gitlab

Tema 7: Rebase

  • ¿Qué es el comando rebase?
  • Integración de ramas con rebase
  • Ventajas e inconvenientes de rebase frente a merge

Ejercicios

En la modalidad a distancia, el curso se reparte en varias sesiones de 4 horas que se imparten durante dos semanas. En este tiempo, el equipo dispondrá de dos días entre las sesiones teóricas para realizar los ejercicios propuestos de manera independiente.

Arsys
Ormazabal
Accio3
CBCenter