0Pricing
DevOps Bootcamp · レッスン

Husky でフックを共有する

Husky を使ってチーム全体で Git hooks を共有し、全員が同じチェックを自動的に実行できるようにする方法を学びます。

「Husky でフックを共有する」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全4レッスンが含まれています。

ネイティブフックの問題

ネイティブGitフックは.git/hooksに保存されますが、このディレクトリはリポジトリにコミットされません。そのため、チームメンバーがフックを自動的に取得することはできません。

Huskyとは

Huskyは、フックをリポジトリ内に保存して全員の環境にインストールする人気のツールです。これにより、チーム全体で同じチェックを実行できます。

Huskyのインストール

Node.jsプロジェクトにHuskyを開発用依存関係として追加します。

npm install --save-dev husky

Huskyの初期化

initコマンドによって.huskyディレクトリが設定され、Gitがそのディレクトリを使用するように構成されます。

npx husky init

Huskyによるフックのリダイレクト

Huskyは、Gitのcore.hooksPathを.git/hooksではなく、コミット対象の.huskyフォルダーに設定します。

git config core.hooksPath .husky

pre-commitフックの追加

各コミットの前にlintまたはテストコマンドを実行する.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'
  }
}

commit-msgフック

Huskyでは、commitlintのようなツールとcommit-msgフックを使って、コミットメッセージのルールを適用することもできます。

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時間対応のAIチューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。

「Husky でフックを共有する」で何を学びますか?

Husky を使ってチーム全体で Git hooks を共有し、全員が同じチェックを自動的に実行できるようにする方法を学びます。 ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

DevOps Bootcampを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。

「Husky でフックを共有する」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このDevOps Bootcampレッスンでコードを書いて実行できますか?

はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. Git Hooksを理解する
  2. Pre-commitとPost-merge Hooks
  3. Git設定のカスタマイズ
  4. Husky でフックを共有する
← DevOps Bootcampに戻る