Chuck's Academy

Git Hooks y Automatización

Ejemplos Prácticos de Pre-commit Hooks

En esta sección, exploraremos algunos ejemplos prácticos de cómo usar el hook pre-commit para automatizar tareas importantes antes de que se permita realizar un commit en el repositorio. Estos ejemplos te ayudarán a mantener la calidad del código, evitar errores comunes y asegurar un flujo de trabajo más eficiente.

Ejemplo 1: Verificación del Formato del Código

El formato del código consistente es crucial para el mantenimiento y legibilidad del proyecto. Configuraremos un hook pre-commit para verificar el formato del código utilizando Prettier, una herramienta de formateo de código.

Configuración del Hook

  1. Instala Prettier en tu proyecto:

    bash
  2. Crea el archivo .git/hooks/pre-commit con el siguiente contenido:

    bash
  3. Haz que el script sea ejecutable:

    bash

[Placeholder para imagen: Captura de pantalla del script de pre-commit en un editor de texto, mostrando la configuración de Prettier]

Ejemplo 2: Ejecución de Pruebas Unitarias

Las pruebas unitarias aseguran que los cambios en el código no rompan funcionalidades existentes. Configuraremos un hook pre-commit para ejecutar pruebas unitarias utilizando Jest.

Configuración del Hook

  1. Instala Jest en tu proyecto:

    bash
  2. Crea el archivo .git/hooks/pre-commit con el siguiente contenido:

    bash
  3. Haz que el script sea ejecutable:

    bash

Ejemplo 3: Verificación de Mensajes de Commit

Asegurarse de que los mensajes de commit sean descriptivos y sigan un formato específico puede ayudar en la revisión de código y en el seguimiento de cambios. Configuraremos un hook pre-commit que verifique el formato del mensaje de commit.

Configuración del Hook

  1. Crea el archivo .git/hooks/commit-msg con el siguiente contenido:

    bash
  2. Haz que el script sea ejecutable:

    bash

Ejemplo 4: Análisis Estático del Código con ESLint

El análisis estático del código puede ayudarte a identificar errores, problemas de estilo y otros problemas potenciales antes de que el código se integre en la base de código principal. Configuraremos un hook pre-commit para ejecutar ESLint.

Configuración del Hook

  1. Instala ESLint en tu proyecto:

    bash
  2. Configura ESLint creando el archivo .eslintrc.json si aún no lo tienes:

    json
  3. Crea el archivo .git/hooks/pre-commit con el siguiente contenido:

    bash
  4. Haz que el script sea ejecutable:

    bash

Ejemplo 5: Prevención de Archivos Temporales en Commits

Es común que se generen archivos temporales o de respaldo durante el desarrollo. Asegurándonos de que estos archivos no se incluyan en los commits, podemos mantener el repositorio limpio.

Configuración del Hook

  1. Crea el archivo .git/hooks/pre-commit con el siguiente contenido:

    bash
  2. Haz que el script sea ejecutable:

    bash

Personalización

Recuerda que puedes combinar varias tareas en un mismo hook pre-commit según las necesidades de tu proyecto. Esta flexibilidad te permitirá mantener un flujo de trabajo eficiente y garantizar la calidad del código.

Ejemplo Combinado

Puedes combinar los ejemplos anteriores en un solo script:

bash

Recuerda siempre hacer que el script sea ejecutable:

bash

En la siguiente sección, veremos ejemplos prácticos de hooks pre-push y cómo pueden ayudarte a asegurar la calidad del código antes de que se envíe al repositorio remoto.

¡Continuemos!


Pregúntame lo que sea