Condividere gli hook con Husky
Impari a condividere gli hook di Git all’interno del team usando Husky, così che tutti eseguano automaticamente gli stessi controlli.
Condividere gli hook con Husky è una lezione Git & GitHub Professional Workflow gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Git & GitHub Professional Workflow, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Git & GitHub Professional Workflow include 4 lezioni in totale.
Il problema degli hook nativi
Gli hook nativi di Git si trovano in .git/hooks, che non viene incluso nei commit del repository. Di conseguenza, i colleghi non ricevono automaticamente i vostri hook.
Che cos'è Husky
Husky è uno strumento molto usato che memorizza gli hook nel repository e li installa per tutti, così l'intero team esegue gli stessi controlli.
Installazione di Husky
Aggiungete Husky come dipendenza di sviluppo in un progetto Node.js.
npm install --save-dev huskyInizializzazione di Husky
Il comando init configura la directory .husky e imposta Git affinché la utilizzi.
npx husky initCome Husky reindirizza gli hook
Husky imposta core.hooksPath di Git in modo che punti alla cartella .husky inclusa nel repository, anziché a .git/hooks.
git config core.hooksPath .huskyAggiunta di un hook pre-commit
Create un file .husky/pre-commit che esegua il comando di lint o di test prima di ogni commit.
echo 'npm test' > .husky/pre-commitCommit dell'hook
Poiché .husky si trova nel repository, potete inserirlo nel commit come qualsiasi altro file. I colleghi lo riceveranno al prossimo pull.
git add .husky/pre-commit
git commit -m 'Add pre-commit test hook'Esecuzione dei linter sui file in staging
Usate Husky insieme a lint-staged per controllare solo i file che avete effettivamente aggiunto allo staging, mantenendo rapidi i commit.
npm install --save-dev lint-stagedConfigurazione di lint-staged
Definite quale comando deve essere eseguito su ciascun file in package.json.
{
'lint-staged': {
'*.js': 'eslint --fix'
}
}Un hook commit-msg
Husky può anche applicare regole ai messaggi di commit usando un hook commit-msg con uno strumento come commitlint.
echo 'npx commitlint --edit $1' > .husky/commit-msgIgnorare gli hook quando necessario
In caso di emergenza potete ignorare gli hook con --no-verify, anche se dovrebbe accadere raramente.
git commit --no-verify -m 'WIP'Verifica rapida
Verificate la vostra comprensione della condivisione degli hook con Husky.
Riepilogo
Avete imparato a condividere gli hook con Husky:
- Gli hook nativi in
.git/hooksnon vengono condivisi - Husky memorizza gli hook in una cartella
.huskyinclusa nel repository - Reindirizza
core.hooksPath - Può essere usato insieme a lint-staged e commitlint per applicare controlli a tutto il team
Domande Frequenti
La lezione «Condividere gli hook con Husky» è gratuita?
Sì — il testo completo di «Condividere gli hook con Husky» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Git & GitHub Professional Workflow, passa a CoddyKit PRO. Il corso Git & GitHub Professional Workflow include 4 lezioni in totale.
Cosa imparerò in «Condividere gli hook con Husky»?
Impari a condividere gli hook di Git all’interno del team usando Husky, così che tutti eseguano automaticamente gli stessi controlli. Eserciti Git & GitHub Professional Workflow con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Git & GitHub Professional Workflow?
Non è richiesta alcuna esperienza precedente. Git & GitHub Professional Workflow su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «Condividere gli hook con Husky»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Git & GitHub Professional Workflow?
Sì. Ogni lezione Git & GitHub Professional Workflow include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Comprendere gli hook di Git
- Hook pre-commit e post-merge
- Personalizzazione della configurazione di Git
- Condividere gli hook con Husky