Fork me on GitHub

Curso de git avanzado

Modalidad a distancia

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.