Professionellt arbetsflöde med Git och GitHub · Lektion

Dela hooks med Husky

Lär dig dela Git-hooks i ett team med Husky, så att alla automatiskt kör samma kontroller.

Lektion 4 av 413 steg

Dela hooks med Husky är en gratis lektion i Professionellt arbetsflöde med Git och GitHub på CoddyKit. Detta är lektion 4 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Professionellt arbetsflöde med Git och GitHub, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Professionellt arbetsflöde med Git och GitHub innehåller totalt 4 lektioner.

Problemet med inbyggda hooks

Inbyggda Git-hooks finns i .git/hooks, som inte committas till repot. Det innebär att teammedlemmarna inte får dina hooks automatiskt.

Vad är Husky?

Husky är ett populärt verktyg som lagrar hooks i repot och installerar dem för alla, så att hela teamet kör samma kontroller.

Installera Husky

Lägg till Husky som ett utvecklingsberoende i ett Node.js-projekt.

npm install --save-dev husky

Initiera Husky

Initieringskommandot skapar katalogen .husky och konfigurerar Git så att den använder den.

npx husky init

Så omdirigerar Husky hooks

Husky pekar Gits core.hooksPath till den committade mappen .husky i stället för .git/hooks.

git config core.hooksPath .husky

Lägga till en pre-commit-hook

Skapa filen .husky/pre-commit så att den kör ditt lint- eller testkommando före varje commit.

echo 'npm test' > .husky/pre-commit

Committra hooken

Eftersom .husky finns i repot committar du den som vilken annan fil som helst. Teammedlemmarna får den vid nästa pull.

git add .husky/pre-commit
git commit -m 'Add pre-commit test hook'

Köra linters på stageade filer

Kombinera Husky med lint-staged för att bara kontrollera filer som faktiskt har lagts till i staging, så hålls commits snabba.

npm install --save-dev lint-staged

Konfigurera lint-staged

Definiera vilket kommando som körs på vilka filer i package.json.

{
  'lint-staged': {
    '*.js': 'eslint --fix'
  }
}

En commit-msg-hook

Husky kan också tillämpa regler för commitmeddelanden med hjälp av en commit-msg-hook och ett verktyg som commitlint.

echo 'npx commitlint --edit $1' > .husky/commit-msg

Hoppa över hooks vid behov

I nödsituationer kan du hoppa över hooks med --no-verify, men det bör ske sällan.

git commit --no-verify -m 'WIP'

Snabbtest

Testa dina kunskaper om att dela hooks med Husky.

Sammanfattning

Du har lärt dig att dela hooks med Husky:

  • Inbyggda hooks i .git/hooks delas inte
  • Husky lagrar hooks i en committad mapp kallad .husky
  • Husky omdirigerar core.hooksPath
  • Kombinera Husky med lint-staged och commitlint för kontroller som gäller hela teamet
Gratis att börja

Lär dig Professionellt arbetsflöde med Git och GitHub med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
12
Lektioner
48

Vanliga frågor

Är lektionen ”Dela hooks med Husky” gratis?

Ja – hela texten till ”Dela hooks med Husky” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Professionellt arbetsflöde med Git och GitHub, kan Ni uppgradera till CoddyKit PRO. Kursen i Professionellt arbetsflöde med Git och GitHub innehåller totalt 4 lektioner.

Vad lär jag mig i ”Dela hooks med Husky”?

Lär dig dela Git-hooks i ett team med Husky, så att alla automatiskt kör samma kontroller. Ni övar på Professionellt arbetsflöde med Git och GitHub med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Professionellt arbetsflöde med Git och GitHub?

Du behöver inga förkunskaper. Utbildningen i Professionellt arbetsflöde med Git och GitHub på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 4 av 4.

Hur lång tid tar lektionen ”Dela hooks med Husky”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Professionellt arbetsflöde med Git och GitHub-lektionen?

Ja. Varje Professionellt arbetsflöde med Git och GitHub-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Förstå Git Hooks
  2. Pre-commit- och post-merge-hooks
  3. Anpassa Git-konfigurationen
  4. Dela hooks med Husky
← Tillbaka till Professionellt arbetsflöde med Git och GitHub