自動化したい(git-hooks
)
Git Hooks
は、Gitコマンドに連動したジョブを実行できる仕組みです。
よく使われている(と思われる)フック名と、実行されるタイミング、
実行するとよいコマンドを整理してみました。
フック名 |
説明 |
コマンド |
---|---|---|
|
コミットメッセージを入力する前 |
|
|
エディターが起動する前 |
|
|
コミットメッセージを保存した後 |
|
|
コミットが完了した後 |
|
|
プッシュする前 |
|
Hooksはシェルスクリプトで作成しプロジェクト/.git/hooks/
に配置します。
ただし、pre-commitやcommitizenなど、これらのhooksをカスタマイズするための外部ツールを使うとより簡単に設定を変更できます。
サンプルを確認したい
$ ls .git/hooks/
applypatch-msg.sample
commit-msg.sample
fsmonitor-watchman.sample
post-update.sample
pre-applypatch.sample
pre-commit.sample
pre-merge-commit.sample
pre-push.sample
pre-rebase.sample
pre-receive.sample
prepare-commit-msg.sample
push-to-checkout.sample
update.sample
Gitリポジトリを初期化すると
プロジェクト/.git/hooks/
にサンプルが自動で生成されます。
ファイル名の末尾にある.sample
を削除して有効にできます。
また、同名のファイルを作成してカスタマイズできます。