web-dev-qa-db-ja.com

Gitフック: `git config core.hooksPath`の適用

コミット前のフックが設定されたgitリポジトリがあります。

my-repo
|- .git
   |- hooks
      |- pre-commit     # I made this file executable

そこまでは、すべてが機能します。コミットするとフックが実行されます。

=================================

git config core.hooksPath ./git-config/hooksmy-repoを実行しています。

フォルダ構造はこれです:

my-repo
|- .git
   |- hooks
|- git-config
   |- hooks
      |- pre-commit     # I made this file executable as well

何が起こるか:

  • 新しいプリコミットスクリプトがコミット時に実行されない
  • 古いプリコミットスクリプトは、my-repo/.git/hooksのままにしておくと、コミット時に実行されます
  • 実行中git config --get core.hooksPath in my-repo出力./git-config/hooks

新しいpre-commitフックをcommit時に実行するにはどうすればよいですか

これは私がどうやらよく理解していないドキュメントへのリンクです:
https://git-scm.com/docs/git-config
https://git-scm.com/docs/githooks

12

core.hooksPathサポートは Gitバージョン2.9の新機能 で、 commit 867ad08a2610526edb5723804723d371136fc643 。 Gitのバージョンが2.9.0以降でない場合、hooks-path変数を設定してもまったく効果がありません。

18
torek