La gestión de las diferentes versiones de código fuente resulta primordial en cualquier proyecto de software, ya que con frecuencia es necesario crear y mantener múltiples líneas de desarrollo para aislar las distintas versiones de nuestro código.
Git es un sistema de control de versiones distribuido que permite llevar un registro de los cambios que se hacen sobre una base de código. De forma que podemos obtener información sobre quién realizó los cambios, qué cambió y el porqué.
Ventajas de Git:
- Fácil distribución del código.
- Facilidad para coordinar el trabajo entre múltiples desarrolladores.
- Podemos saber cuándo se han hecho cambios y por quién.
- Revertir a versiones anteriores
Cuando trabajamos con Git, existen diferentes flujos de trabajo o metodologías a seguir para generar menos conflictos entre cambios y permitir la promoción de nuestro código entre los distintos entornos (desarrollo, pruebas, producción…) según las mejores prácticas y la lógica de trabajo del equipo del proyecto o iniciativa. En este curso nos centraremos en la metodología Git Flow para la organización de ramas.
Objetivo
El objetivo del curso es el de dotar al alumno de las competencias necesarias para la utilización de Git como sistema de control de versiones en su desempeño laboral diario.
El alumno podrá aprender todos los secretos de una de las herramientas cuyo uso caracteriza a un buen desarrollador y una persona capaz de asumir los retos de pertenecer a un equipo de alto rendimiento.
Audiencia
Jefes de equipo de desarrollo software, desarrolladores de productos software y, en general, perfiles profesionales orientados a la programación.
Prerrequisitos
Conocimientos básicos de programación.
- Introducción a Git como control de versiones distribuido
- Concepto de repositorio de código
- Comandos básicos y buenas práctica
- Uso del fichero .gitignore
- Trabajo con ramas y tags
- Uso de Pull request/Merge request
- Comandos avanzados: stash, rebase, blame, cherry-pick
- Resolución de conflictos, trucos y consejos
- Flujos de trabajo: Gitflow y sus alternativas
- Clientes GUI
- Integrando con Azure DevOps