0Pricing
DevOps Bootcamp · Урок

Общий доступ к хукам с Husky

Узнайте, как предоставлять хуки Git всей команде с помощью Husky, чтобы каждый автоматически запускал одинаковые проверки.

«Общий доступ к хукам с Husky» — бесплатный урок DevOps Bootcamp на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения DevOps Bootcamp, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс DevOps Bootcamp содержит 4 уроков всего.

Проблема с нативными хуками

Нативные хуки Git находятся в .git/hooks, который не фиксируется в репозитории. Поэтому участники команды не получают ваши хуки автоматически.

Что такое Husky

Husky — популярный инструмент, который хранит хуки внутри репозитория и устанавливает их для всех, чтобы вся команда выполняла одинаковые проверки.

Установка Husky

Добавьте Husky как зависимость для разработки в проекте Node.js.

npm install --save-dev husky

Инициализация Husky

Команда инициализации создаёт каталог .husky и настраивает Git на его использование.

npx husky init

Как Husky перенаправляет хуки

Husky указывает Git использовать core.hooksPath для каталога .husky, зафиксированного в репозитории, вместо .git/hooks.

git config core.hooksPath .husky

Добавление хука перед коммитом

Создайте файл .husky/pre-commit, который будет выполнять команду проверки стиля или тестирования перед каждым коммитом.

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

Фиксация хука

Поскольку .husky находится внутри репозитория, зафиксируйте его как любой другой файл. Участники команды получат его при следующем извлечении изменений.

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

Запуск линтеров для подготовленных файлов

Используйте Husky вместе с lint-staged, чтобы проверять только файлы, которые вы действительно подготовили, и сохранять коммиты быстрыми.

npm install --save-dev lint-staged

Настройка lint-staged

Определите в package.json, какая команда запускается для каких файлов.

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

Хук для сообщения коммита

Husky также может проверять правила сообщений коммитов с помощью хука commit-msg и такого инструмента, как commitlint.

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

Пропуск хуков при необходимости

В экстренных случаях можно пропустить хуки с помощью --no-verify, но это должно происходить редко.

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

Быстрая проверка

Проверьте, насколько хорошо вы поняли, как делиться хуками с помощью Husky.

Итоги

Вы научились делиться хуками с помощью Husky:

  • Нативные хуки в .git/hooks не являются общими
  • Husky хранит хуки в зафиксированном каталоге .husky
  • Он перенаправляет core.hooksPath
  • Используйте его вместе с lint-staged и commitlint для общих проверок команды

Часто задаваемые вопросы

Урок «Общий доступ к хукам с Husky» бесплатный?

Да — полный текст урока «Общий доступ к хукам с Husky» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс DevOps Bootcamp, подпишись на CoddyKit PRO. Курс DevOps Bootcamp содержит 4 уроков всего.

Чему я научусь в уроке «Общий доступ к хукам с Husky»?

Узнайте, как предоставлять хуки Git всей команде с помощью Husky, чтобы каждый автоматически запускал одинаковые проверки. Ты практикуешь DevOps Bootcamp с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать DevOps Bootcamp?

Предыдущий опыт не требуется. DevOps Bootcamp на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Общий доступ к хукам с Husky»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке DevOps Bootcamp?

Да. Каждый урок DevOps Bootcamp включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Разбор перехватчиков Git
  2. Перехватчики до фиксации и после слияния
  3. Настройка конфигурации Git
  4. Общий доступ к хукам с Husky
← Назад к DevOps Bootcamp