Saltar al contenido

Como desarrolladores de Laravel, mantener un código limpio y bien formateado es esencial. Laravel Pint nos facilita esta tarea, pero ¿y si pudiéramos automatizar completamente el proceso? Los Git Hooks pre-commit son la respuesta.

En este artículo te enseñaré exactamente cómo configurar un hook pre-commit que ejecute Laravel Pint automáticamente cada vez que hagas un commit, asegurando que tu código siempre cumpla con los estándares de formato definidos.

¿Por qué automatizar Laravel Pint con Git Hooks?

  • Consistencia garantizada: Todo tu código seguirá automáticamente el mismo estilo.

  • Sin commits de formato: Se acabaron los commits cuyo único propósito es corregir el formato.

  • Ahorro de tiempo: No más revisiones manuales o ejecuciones repetitivas de Pint.

  • Historial de Git más limpio: Te centras en los cambios funcionales, no en el estilo.

Pasos para configurar Git Hooks pre-commit

1. Requisitos previos

Antes de empezar, asegúrate de tener:

  • Un proyecto Laravel

  • Git instalado

  • Laravel Pint instalado (composer require laravel/pint --dev)

Si quieres conocer más sobre Laravel Pint y sus capacidades, puedes revisar mi artículo detallado sobre Laravel Pint.

2. Crear el directorio para los Hooks personalizados

3. Crear el script pre-commit

¡Importante! El comando chmod +x es crucial. Sin él, Git ignorará el hook y verás un mensaje como:

hint: The '.git-hooks/pre-commit' hook was ignored because it's not set as executable.

4. Editar el script pre-commit

Abre el archivo .git-hooks/pre-commit y añade este código:

Para usuarios de Laravel Sail

Si utilizas Laravel Sail, reemplaza la línea que ejecuta Pint con:

Nota: Si usas Sail, asegúrate de que Docker esté en ejecución cuando hagas commits.

5. Configurar Git para usar los hooks personalizados

Para compartir esta configuración con tu equipo, puedes crear un script de configuración:

Y añadir una nota en el README para que los nuevos desarrolladores ejecuten .git-setup después de clonar.

Probando nuestro Hook Pre-commit

  1. Modifica algún archivo PHP con errores de formato

  2. Añade el archivo: git add ruta/al/archivo.php

  3. Haz un commit: git commit -m "Prueba de hook"

Deberías ver algo como:

Solución de problemas comunes

El hook no se ejecuta

  1. Verifica los permisos:

  2. Confirma la configuración de Git:

  3. En Windows: Asegúrate de que el archivo no tiene extensión .txt y usa terminaciones de línea LF.

Problemas con Laravel Sail

  1. Docker debe estar en ejecución antes de hacer commits.

  2. Si hay errores de permisos, ajusta los permisos dentro del contenedor o usa sudo.

Necesito saltar el hook ocasionalmente

Usa la opción --no-verify:

Deshacer un commit manteniendo los cambios

Si necesitas deshacer un commit sin perder tus cambios:

Esto deshace el último commit pero mantiene todos los cambios en el staging area, permitiéndote revisar, modificar y volver a hacer commit.

Conclusión

Los Git Hooks pre-commit combinados con Laravel Pint son una herramienta poderosa para mantener la calidad y consistencia de tu código. Esta pequeña inversión inicial en la configuración te ahorrará tiempo y problemas en el futuro.

Una vez configurado, puedes olvidarte de los problemas de formato y centrarte en lo que realmente importa: desarrollar funcionalidades para tu aplicación Laravel. El formateo consistente se convierte en un proceso automático e invisible.


Recursos útiles

school Curso completo

Curso Laravel 12
Completo 2026

El único curso 100% actualizado que incluye Laravel 12, Livewire 3, Vue 3, React 19 e Inertia 2. Aprende con proyectos reales y las últimas funcionalidades.

access_time 8 horas de contenido
layers 4 tecnologías en 1
update 100% actualizado
code Proyectos prácticos
Ver Curso Laravel 12 arrow_forward

star Incluido en cualquier suscripción

Rutas de aprendizaje