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 +xes 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
Modifica algún archivo PHP con errores de formato
Añade el archivo:
git add ruta/al/archivo.phpHaz un commit:
git commit -m "Prueba de hook"
Deberías ver algo como:
Solución de problemas comunes
El hook no se ejecuta
Verifica los permisos:
Confirma la configuración de Git:
En Windows: Asegúrate de que el archivo no tiene extensión
.txty usa terminaciones de línea LF.
Problemas con Laravel Sail
Docker debe estar en ejecución antes de hacer commits.
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
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.
star Incluido en cualquier suscripción