⚙️ Git hooks explicado fácil: automatiza tareas como un pro 🚀
Si ya dominas commits, ramas y merges, estás listo para dar un salto importante:
Automatizar tareas en Git con hooks.
Los Git hooks son una de esas herramientas que usan los desarrolladores avanzados…
pero casi nadie explica bien.
En esta guía aprenderás:
- qué son los hooks
- cómo funcionan
- cómo crear tus propios hooks
- ejemplos reales
- buenas prácticas
🧠 Qué son los Git hooks
Un hook es:
un script que se ejecuta automáticamente cuando ocurre un evento en Git
📌 Ejemplos de eventos
- antes de hacer commit
- después de hacer commit
- antes de hacer push
- al hacer merge
👉 Git puede ejecutar código automáticamente
📁 Dónde están los hooks
Dentro de tu repositorio:
.git/hooks/
Ahí verás archivos como:
pre-commit.sample pre-push.sample
⚙️ Cómo funcionan
Git ejecuta scripts en momentos específicos.
Ejemplo:
👉 antes de commit → pre-commit
👉 antes de push → pre-push
🧪 Tu primer Git hook
1️⃣ Ir a la carpeta
cd .git/hooks
2️⃣ Crear hook
nano pre-commit
3️⃣ Añadir script
#!/bin/bash echo "Antes de hacer commit"
4️⃣ Dar permisos
chmod +x pre-commit
5️⃣ Probar
git commit -m "Test"
👉 verás el mensaje ejecutarse
🔥 Hooks más importantes
🟢 pre-commit
Se ejecuta antes del commit
👉 ideal para:
- validar código
- ejecutar tests
- revisar formato
🔵 commit-msg
Valida el mensaje del commit
🟡 pre-push
Antes de enviar código
👉 puedes bloquear pushes incorrectos
🔴 post-commit
Después del commit
👉 notificaciones o logs
🧪 Ejemplo real: evitar commits sin mensaje
#!/bin/bash mensaje=$(cat $1) if [ -z "$mensaje" ]; then echo "❌ Debes escribir un mensaje de commit" exit 1 fi
🧪 Ejemplo real: evitar subir código roto
#!/bin/bash npm test if [ $? -ne 0 ]; then echo "❌ Tests fallaron. No puedes hacer commit" exit 1 fi
🧠 Hooks con herramientas modernas
Puedes usar herramientas como:
- Husky (JavaScript)
- pre-commit (Python)
Ejemplo con Husky:
npx husky add .husky/pre-commit "npm test"
⚠️ Importante sobre hooks
👉 Los hooks son locales
Esto significa:
- no se comparten automáticamente
- cada desarrollador debe tenerlos
🧠 Soluciones para compartir hooks
- scripts en repositorio
- herramientas como Husky
- documentación del proyecto
❌ Errores comunes
❌ olvidar permisos
chmod +x hook
❌ scripts mal escritos
👉 el commit falla
❌ depender de hooks no compartidos
🧠 Buenas prácticas
✔️ usa hooks simples
✔️ no bloquees sin motivo
✔️ documenta hooks
✔️ usa herramientas modernas
🚀 Casos reales de uso
- validar código antes de commit
- ejecutar tests automáticamente
- prevenir errores
- estandarizar commits
🧠 Concepto clave
Git hooks convierten procesos manuales en automáticos
📌 Resumen rápido
hook → evento → script → acción automática
🧠 Conclusión:
Los Git hooks son un paso hacia un flujo profesional.
Te permiten:
- automatizar tareas
- evitar errores
- mejorar calidad de código
Y lo mejor:
Te ahorran tiempo y dolores de cabeza 😄