Udostępnianie hooków za pomocą Husky
Dowiedz się, jak udostępniać hooki Git w całym zespole za pomocą Husky, aby wszyscy automatycznie uruchamiali te same kontrole.
Udostępnianie hooków za pomocą Husky to bezpłatna lekcja Git & GitHub Professional Workflow na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Git & GitHub Professional Workflow, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Git & GitHub Professional Workflow zawiera 4 lekcji w sumie.
Problem z natywnymi hookami
Natywne hooki Git znajdują się w katalogu .git/hooks, który nie jest commitowany do repozytorium. Oznacza to, że członkowie zespołu nie otrzymują automatycznie Państwa hooków.
Czym jest Husky
Husky to popularne narzędzie, które przechowuje hooki w repozytorium i instaluje je u wszystkich, dzięki czemu cały zespół uruchamia te same kontrole.
Instalowanie Husky
Należy dodać Husky jako zależność deweloperską w projekcie Node.js.
npm install --save-dev huskyInicjowanie Husky
Polecenie init konfiguruje katalog .husky i ustawia Git tak, aby z niego korzystał.
npx husky initJak Husky przekierowuje hooki
Husky wskazuje core.hooksPath w Git na commitowany katalog .husky zamiast na .git/hooks.
git config core.hooksPath .huskyDodawanie hooka pre-commit
Należy utworzyć plik .husky/pre-commit, który przed każdym commitem uruchamia polecenie lintera lub testów.
echo 'npm test' > .husky/pre-commitCommitowanie hooka
Ponieważ katalog .husky znajduje się w repozytorium, można commitować go tak jak każdy inny plik. Członkowie zespołu otrzymają go przy następnym pobieraniu zmian.
git add .husky/pre-commit
git commit -m 'Add pre-commit test hook'Uruchamianie linterów dla plików przygotowanych do commita
Połącz Husky z lint-staged, aby sprawdzać tylko pliki faktycznie przygotowane do commita i utrzymać krótszy czas wykonywania commitów.
npm install --save-dev lint-stagedKonfigurowanie lint-staged
Należy zdefiniować, które polecenie ma być uruchamiane dla poszczególnych plików w package.json.
{
'lint-staged': {
'*.js': 'eslint --fix'
}
}Hook commit-msg
Husky może również wymuszać reguły dotyczące komunikatów commitów za pomocą hooka commit-msg i narzędzia takiego jak commitlint.
echo 'npx commitlint --edit $1' > .husky/commit-msgPomijanie hooków w razie potrzeby
W sytuacjach awaryjnych można pominąć hooki za pomocą --no-verify, ale powinno się to zdarzać rzadko.
git commit --no-verify -m 'WIP'Szybkie sprawdzenie
Sprawdź swoją wiedzę na temat udostępniania hooków za pomocą Husky.
Podsumowanie
Dowiedziałeś się, jak udostępniać hooki za pomocą Husky:
- Natywne hooki w
.git/hooksnie są udostępniane - Husky przechowuje hooki w commitowanym katalogu
.husky - Przekierowuje ustawienie
core.hooksPath - W połączeniu z lint-staged i commitlint umożliwia stosowanie kontroli w całym zespole
Często zadawane pytania
Czy lekcja „Udostępnianie hooków za pomocą Husky” jest bezpłatna?
Tak — pełny tekst „Udostępnianie hooków za pomocą Husky” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Git & GitHub Professional Workflow, przejdź na CoddyKit PRO. Kurs Git & GitHub Professional Workflow zawiera 4 lekcji w sumie.
Co nauczysz się w „Udostępnianie hooków za pomocą Husky”?
Dowiedz się, jak udostępniać hooki Git w całym zespole za pomocą Husky, aby wszyscy automatycznie uruchamiali te same kontrole. Ćwiczysz Git & GitHub Professional Workflow z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Git & GitHub Professional Workflow?
Nie wymagamy żadnego doświadczenia. Git & GitHub Professional Workflow w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.
Ile czasu zajmuje lekcja „Udostępnianie hooków za pomocą Husky”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Git & GitHub Professional Workflow?
Tak. Każda lekcja Git & GitHub Professional Workflow zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Poznajemy Git Hooks
- Hooki pre-commit i post-merge
- Dostosowywanie konfiguracji Git
- Udostępnianie hooków za pomocą Husky