【ハスキー】

Husky とは?

最終更新:
💡 コミット前にチェックを呼び出す、Gitフックの番犬

Gitフックをプロジェクトで設定・管理するツール。コミット前にテストなどを動かす例と、導入条件やCIの検査との違いを説明します。

📌 このページのポイント
Husky:コミット前のチェックを起動HuskyでGitフックを設定例:.husky/pre-commitgit commitコミットを試すnpm testフックのコマンド✓ 成功コミットへ進む失敗の終了コードコミットを中止設定した検査の結果で分かれるフックは無効化もできる。CIの検査も併用
pre-commitでnpm testを呼び出す例。検査をするのは設定したコマンドで、Huskyだけで内容を判定するわけではありません。
ひよこ ひよこ
Huskyは、コミット前に何をしてくれるの?
ペンギン先生 ペンギン先生
Gitにはコミットなどの節目にスクリプトを動かすフックがあるよ。Huskyはその設定を管理しやすくするツール。チェックを呼び出す番犬のような役割なんだ。
ひよこ ひよこ
どうやって設定するの?
ペンギン先生 ペンギン先生
現在の公式手順では開発用にHuskyを導入し、npx husky initで初期化するよ。.husky/pre-commitとpackage.jsonのprepareスクリプトを用意する。フックの内容は自分の開発手順に合わせて変えるんだ。
ひよこ ひよこ
Huskyが、自動でコードの間違いを全部見つける?
ペンギン先生 ペンギン先生
検査はフックに書いたコマンドが担当するよ。例えばnpm testでテストを実行し、失敗の終了コードを返すとコミットを中止できる。リンターやlint-stagedも、必要に応じて別に設定するんだ。
ひよこ ひよこ
設定ファイルを共有すれば、全員が必ず検査する?
ペンギン先生 ペンギン先生
各環境で依存関係とフックが導入され、コマンドを実行できることが必要だよ。フックは無効化やスキップもできる。ローカルの確認に役立つけれど、CIなどで行う検査と併せて運用しよう。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Husky」って出てきたら「Gitフックでチェックを動かす設定を管理するツール」と思えばだいたいOK!
📖 おまけ:英語の意味
「Husky」 = Gitフックを管理するツールの名前
💬 ここではコミット前の番犬にたとえています。ツールはフックの設定と起動を助け、実際の検査はテストやリンターなどのコマンドが担います。

参考資料

← 用語集にもどる