Compartir hooks con el equipo mediante Husky
Los hooks locales de Git quedan fuera del control de versiones. Aprenda cómo Husky y herramientas similares distribuyen hooks a todos los colaboradores para que las validaciones de calidad se ejecuten de forma coherente.
Compartir hooks con el equipo mediante Husky es una lección gratuita de Git Advanced: Monorepo, Submodules & Workflows en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Git Advanced: Monorepo, Submodules & Workflows, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Git Advanced: Monorepo, Submodules & Workflows incluye 4 lecciones en total.
Partes de esta lección aún no han sido traducidas y se muestran en inglés.
The Distribution Problem
Git hooks live in .git/hooks, which is not part of the repository. So a pre-commit hook you write only runs on your machine.
To enforce standards across a team, hooks must be shareable and version-controlled.
The core.hooksPath Setting
Git can read hooks from a custom directory you commit to the repo via core.hooksPath. This is the foundation most tools build on.
git config core.hooksPath .githooksEnter Husky
Husky is a popular tool for JavaScript projects that manages hooks via committed files and wires up core.hooksPath automatically on install.
npm install --save-dev huskyInitializing Husky
Run the init command. It creates a .husky/ directory and a sample hook, and sets up the prepare script.
npx husky initThe prepare Script
Husky relies on npm's prepare lifecycle so hooks are enabled automatically whenever a teammate runs npm install.
{
"scripts": {
"prepare": "husky"
}
}Writing a Pre-Commit Hook
Add commands to .husky/pre-commit. Since the file is committed, every contributor gets the same checks.
npm test
npm run lintRunning Only on Staged Files
Linting the whole project on every commit is slow. lint-staged runs tools only on the files you actually staged.
npx lint-stagedConfiguring lint-staged
Map file patterns to commands. Below runs the formatter and linter only on staged JS files.
{
"lint-staged": {
"*.js": ["prettier --write", "eslint --fix"]
}
}Enforcing Commit Messages
A commit-msg hook can validate message format. Paired with commitlint, it enforces conventional commits across the team.
npx --no -- commitlint --edit $1Tools for Other Ecosystems
Husky is Node-centric. Language-agnostic options include pre-commit (Python), lefthook (Go, very fast), and overcommit (Ruby). All solve the same distribution problem.
Hooks Are Not a Security Boundary
Remember: client hooks can be bypassed with --no-verify. They catch honest mistakes, but real enforcement must also live in CI and server-side hooks.
git commit --no-verifyQuick Check
Test your shared-hooks knowledge.
Recap
You can now share hooks across a team:
core.hooksPathpoints Git at a committed hooks directory- Husky automates setup via the
preparescript lint-stagedruns checks only on staged files- commitlint enforces message format
- Hooks complement, never replace, server-side and CI enforcement
This builds directly on your client-side and server-side hook lessons.
Preguntas frecuentes
¿La lección «Compartir hooks con el equipo mediante Husky» es gratis?
Sí — el texto completo de «Compartir hooks con el equipo mediante Husky» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Git Advanced: Monorepo, Submodules & Workflows, actualiza a CoddyKit PRO. El curso de Git Advanced: Monorepo, Submodules & Workflows incluye 4 lecciones en total.
¿Qué aprenderé en «Compartir hooks con el equipo mediante Husky»?
Los hooks locales de Git quedan fuera del control de versiones. Aprenda cómo Husky y herramientas similares distribuyen hooks a todos los colaboradores para que las validaciones de calidad se ejecute… Practicas Git Advanced: Monorepo, Submodules & Workflows con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Git Advanced: Monorepo, Submodules & Workflows?
No se requiere experiencia previa. Git Advanced: Monorepo, Submodules & Workflows en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «Compartir hooks con el equipo mediante Husky»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Git Advanced: Monorepo, Submodules & Workflows?
Sí. Cada lección de Git Advanced: Monorepo, Submodules & Workflows incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Hooks de Git del lado del cliente
- Hooks de Git del lado del servidor
- Configuración y alias de Git
- Compartir hooks con el equipo mediante Husky