Git Advanced: Monorepo, Submodules & Workflows · Leçon

Partager des hooks avec l’équipe grâce à Husky

Les hooks Git locaux ne sont pas inclus dans le contrôle de version. Découvrez comment Husky et les outils similaires distribuent les hooks à chaque contributeur afin que les contrôles de qualité s’exécutent de manière cohérente.

Leçon 4 sur 413 étapes

Partager des hooks avec l’équipe grâce à Husky est une leçon Git Advanced: Monorepo, Submodules & Workflows gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Git Advanced: Monorepo, Submodules & Workflows, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Git Advanced: Monorepo, Submodules & Workflows comprend 4 leçons au total.

Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.

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 .githooks

Enter 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 husky

Initializing Husky

Run the init command. It creates a .husky/ directory and a sample hook, and sets up the prepare script.

npx husky init

The 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 lint

Running 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-staged

Configuring 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 $1

Tools 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-verify

Quick Check

Test your shared-hooks knowledge.

Recap

You can now share hooks across a team:

  • core.hooksPath points Git at a committed hooks directory
  • Husky automates setup via the prepare script
  • lint-staged runs 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.

Gratuit pour commencer

Apprends Git Advanced: Monorepo, Submodules & Workflows avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
12
Leçons
48

Questions Fréquemment Posées

La leçon « Partager des hooks avec l’équipe grâce à Husky » est-elle gratuite ?

Oui — le texte complet de « Partager des hooks avec l’équipe grâce à Husky » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Git Advanced: Monorepo, Submodules & Workflows, passe à CoddyKit PRO. Le cours Git Advanced: Monorepo, Submodules & Workflows comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Partager des hooks avec l’équipe grâce à Husky » ?

Les hooks Git locaux ne sont pas inclus dans le contrôle de version. Découvrez comment Husky et les outils similaires distribuent les hooks à chaque contributeur afin que les contrôles de qualité s’e… Tu pratiques Git Advanced: Monorepo, Submodules & Workflows avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Git Advanced: Monorepo, Submodules & Workflows ?

Aucune expérience préalable n'est requise. Git Advanced: Monorepo, Submodules & Workflows sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.

Combien de temps prend la leçon « Partager des hooks avec l’équipe grâce à Husky » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Git Advanced: Monorepo, Submodules & Workflows ?

Oui. Chaque leçon Git Advanced: Monorepo, Submodules & Workflows inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Hooks Git côté client
  2. Hooks Git côté serveur
  3. Configuration et alias Git
  4. Partager des hooks avec l’équipe grâce à Husky
← Retour à Git Advanced: Monorepo, Submodules & Workflows