Git でグローバルなフックを設定する方法

Git を使っているとイベントフックで何かの処理を行いたくなることがある。例えばデバッグコード (i.e. console.log()) を含むものはコミット前のチェックで弾く、などだ。

このフックのためのコードは通常はリポジトリ直下の .git/hooks/ の下にシェルスクリプトを置いて実現する。これを各リポジトリの単位ではなく、開発機単位で設定するためにはどうすればいいのだろう?

バージョン 2.9 の Git からcore.hooksPath というオプションが使えるようになった。コマンドラインから次のように設定できる。

$ git config --global core.hooksPath /etc/git/hooks

こうすることで、~/.gitconfig に次の行が追加され、/etc/git/hooks に任意のローカルリポジトリで機能するフックスクリプトを配置できるようになる。

[core]
        hooksPath = /etc/git/hooks

コメントを残す

コメントを投稿するには、以下のいずれかでログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中