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: 30 horas
¿Subvencionable a través de FUNDAE? Sí
Cliente de git: Sourcetree y línea de comandos
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 trabajar con git
Tema 2: Tags y ramas
- ¿Qué es un tag?
- Etiquetando commits con tags
- Diferentes usos que se le pueden dar a los tags
- Referencias: entendiendo qué es una rama en git
- HEAD y el comando checkout
- 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?
- 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
Otros temas
Contenido adicional que se imparte en función de las necesidades del equipo
- Trabajo en equipo con git-flow
- Migración de repositorios de SVN a git
- Gestión de depencias con git-submodules y git-subtree
- Visual Studio como cliente de git
- Eclipse como cliente de git