Flujo de Git
Nuestro flujo de Git, es una herramienta que nos permite garantizar calidad/soporte en nuestros temas de Shopify. Por lo que trabajar con un sistema de versiones, nos permite mantener una revisión constante de la implementación/solución de cada desarrollador.
Otros beneficios de este flujo son:
- Trabajar en equipo y remotamente
- Rastrear y gestionar cambios en código de grandes proyectos.
- Nos facilita y agiliza procesos de despliegue y operaciones.
Antes…
- Es necesario instalar git en la máquina local. Consulte documentación
- En caso de no conocer comandos básicos de git, siga el siguiente tutorial
PASO A PASO:
Una vez clonado el repositorio de su Gradi Theme Base y configurado su entorno de trabajo (instalación de Shopify CLI, git, nodeJS), comencemos a editar el tema:
- Comprenda de manera precisa el requerimiento de la primera funcionalidad, por ejemplo, nuestro HEADER.
- Localizamos dentro del directorio ./sections (RUTA), el siguiente archivo: header.liquid. Aquí, podrá validar si la estructura básica del archivo corresponde o se ajusta al wireframe. Si no es así, ajuste en primer lugar su estructura y luego asigne clases para estilar.
- Valide los cambios sobre su archivo y despliegue localmente su tema con un comando del CLI: shopify theme serve. Aprenda aquí los comandos básicos del CLI.
- Cada día o jornada, realizará un pull request sobre la implementación. Es decir, deberá realizar sus cambios en una rama totalmente nueva. Por ejemplo, si realiza cambios al header, creará una rama llamada feat/header (Está rama parte desde staging, la más estable del proyecto). Al final de la jornada, subirá los cambios a la rama feat/header y desde aquí rama solicitará a su LT un merge a staging.
- Su LT revisará la implementación y dará su feedback, en caso de que lo requiera, deberá corregir/resolver conversación ó seguir con una nueva implementación.
Nota: Recuerde, comenzar una nueva implementación/funcionalidad desde una rama partiendo siempre desde staging. También, a diario es necesario requerir a su LT, la fusión de su nueva rama a staging. Es importante resaltar que cada funcionalidad que desarrolle, debe culminar en una implementación precisa, corta y atómica, por ejemplo, en caso de tener un header demasiado complejo, deberá pensar en seccionar su trabajo en bloques más pequeños y modulares.