# i2flow: flujos de GIT en i2TIC <!-- Put the link to this slide here so people can follow --> slide: https://Aqui.ira.el.link > Taller: https://hackmd.io/4VGrCeNpTriea5gEXHqMlA --- Haremos un taller todos juntos. Ten preparado tu portátil! --- # Introducción :boy: Andrés :clock1: 2 mins - Gestión de las migraciones - Prueba de funcionalidades que se encuentra en ramas separadas # :bulb: Soluciones propuestas --- ## Ramas de mezcla - ¿Para qué sirven? - Cómo crearlas de forma manual ```bash git checkout -b mix_branch git merge branch1 git merge branch2 ... ``` - Cómo crearlas de forma automática ```bash i2cli create_mix_branch <branch1> ... ``` --- ## Operaciones con las migraciones :clock1: 10 mins :boy: Andrés - Cuando crearlas - Cómo deshacerlas --- ## Redacción de los commits :clock1: 10 mins :boy: Ángel :boy: Rubén :boy: Txema ### Buenas prácticas al generar commits #### ÁNGEL - ¿Qué es y cuál es la finalidad de un commit? - Qué es lo que se hace "mal" al hacer un commit - Muestra visual de casos sin estructura #### RUBÉN - ¿Hay procedimientos que nos puedan ayudar a hacer mejor los commits? -- Las convenciones que nos ayudan a estructurar nuestros commits: - Karma Commits - Convencional Commits -> Convención a utilizar - ¿Cómo nos ayudan las convenciones? - Estructura de la información: -- Cabecera: Tipo, ámbito, descripción -- Cuerpo: Detalle -- Pie: Referencias (track number, responsable...) #### TXEMA - ¿Por qué debemos seguir una convención? - VENTAJAS -- Estructura uniforme -- Visibilidad -- Reutilizar cambios -- Generación de CHANGELOG - Posibles DESVENTAJAS -- Curva de aprendizaje: - Comparativa visual de casos con y sin convención #### ÁNGEL - Utilities - Herramientas que nos ayuden automatizar el proceso de creación de commits: -- Commitizen: https://github.com/commitizen-tools/commitizen -- Consejo de utilización de "git commit --amend" RELEASE NOTES -> Por definir Enriquecer las PR: Release Notes como resultado de las PR Generación de cambios a nivel generar: CHANGELOG.md squash vs merge en contexto Release Notes Explicación de como utilizar "git squash" --- ## Uso de i2cli para automatizar :boy: Andrés - Nombrado de las ramas de mezcla - Creación de tags - Creación de release notes --- # Práctica - Usar como ejemplo un módulo pip alojado en nuestro servidor pip --- ### Thank you! :sheep:
{"metaMigratedAt":"2023-06-15T19:52:11.650Z","metaMigratedFrom":"YAML","title":"i2flow","breaks":true,"description":"Taller sobre la gestión de flujos de GIT en i2TIC","contributors":"[{\"id\":\"1ced4144-997b-4135-a3cf-a7fed3d33035\",\"add\":349,\"del\":373},{\"id\":\"5713ce7e-6298-4eea-a5f6-d354cb1e48a4\",\"add\":3095,\"del\":1929},{\"id\":\"93855254-5bcf-438a-b2d1-f9f805e036e4\",\"add\":2720,\"del\":1318}]"}
    301 views
   Owned this note