Awesome Git Hooks
Git Hooksを扱う資料や関連プロジェクトをまとめたAwesomeリストです。
目次
Gitフックスクリプト
注: 各スクリプトの隣のアイコンは、記述言語を表します。
| icon | language |
|---|---|
bash | |
python | |
perl |
commit-msg
- enforce-insert-issue-number - prepare-commit-msg/insert-issue-number.hookが生成したISSUE-[#]文字列をユーザーが削除していないことを確認します。

post-checkout
- delete-pyc-files - 新しいブランチをチェックアウトするたびに、すべての.pycファイルを削除します。

- new-branch-alert - 新しいブランチを初めてチェックアウトしたときにメッセージを表示します。

post-update
- update-server-info - dumb transport(例: http)で使用するためにpack済みリポジトリを準備します。

pre-commit
- dotenvx -
.envファイルをコードへコミットすることを防ぎます。
- format-code - コードをフォーマットするコマンドを実行し、フォーマット後に変更されたファイルを再追加します。

- search-term - コード内で特定の用語が見つかった場合にコミットを失敗させます。

- spell-check-md-files - 拡張子.mdのファイルのスペルミスを確認します。

- verify-name-and-email - user.nameまたはuser.emailが正しくない場合にコミットを失敗させます。

prepare-commit-msg
- include-git-diff-name-status - “Git status”出力の直前に、“Git diff —name-status -r”の出力をメッセージへ含めます。

- insert-issue-number - コミットメッセージの先頭へissue番号を挿入します。

pre-push
- prevent-bad-push - ログメッセージが”WIP”(作業中)で始まるコミットのpushを防ぎます。

pre-rebase
- prevent-rebase - すでに’next’ブランチへマージされたトピックブランチのrebaseを防ぎます。許可すると、すでに公開された履歴がrebaseされるためです。

query-watchman
- fsmonitor-watchman - 指定時刻以降に変更されたすべてのファイルをstdoutへ出力します。

update
- update - 注釈なしタグの流入をブロックします。

クイックスタート
- 任意のフックを選んでください。どこから始めるかわからない場合は、“verify-name-and-email”を試してください。
- プロジェクトのフックフォルダー(.git/hooks)へ移動します。
- その中にすでにファイルのリストがあるはずです。使用したい正確なコミットタイプ(例: “commit-msg”、“pre-rebase”、“pre-commit”など)という新規ファイルを作成してください。拡張子は付けないでください。

- 新しいファイルを開き、このリポジトリから選んだフックのコードを貼り付けます(例: verify-name-and-email.hook)
- ファイルを保存します。完了です。Gitフックが自動的にトリガーされます。
ツール
-
Husky - 優れたユーザーインターフェースでGitフックを管理します。
-
Overcommit - 完全に設定可能かつ拡張可能なGitフックマネージャー。
-
Git Build Hook Maven Plugin - Mavenビルド中にGitフックと設定をインストールします。
-
CaptainHook - PHP開発者向けGitフックマネージャー。
-
pre-commit - 多言語pre-commitフックを管理・保守するためのフレームワーク。
文書ガイド
動画ガイド
ライセンス
この作品はCreative Commons Attribution 1.0 International Licenseの下でライセンスされています。