Git post-commitフックを現在のリポジトリと将来のリポジトリすべてに適用する 質問する

Git post-commitフックを現在のリポジトリと将来のリポジトリすべてに適用する 質問する

Git のコミット後フックを作成しましたが、正常に動作します。ただし、このフックを追加して、現在作業中のすべての (および将来の) Git リポジトリに適用したいと考えています。~/.git/hooks/プロジェクト ディレクトリのフック ディレクトリではなく、自分のディレクトリにフックを追加しようとしましたが、うまく動作しないようです。

システム上のすべてのリポジトリに適用されるグローバル Git フックを作成する方法はありますか (各プロジェクト ディレクトリにコピーする必要はありません)? そうでない場合、今後の最善の解決策は何でしょうか (おそらく git-init テンプレートでしょうか)?

ベストアンサー1

Git 1.7.1以降では、init.templatedirgitconfig で、Git にテンプレートを探す場所を伝えます。

次のように設定します。

git config --global init.templatedir '~/.git_template'

その後、作成またはクローンした新しいリポジトリは、このディレクトリをテンプレートに使用します。 に必要なフックを配置します。 と同じディレクトリで を~/.git_template/hooks実行すると、既存のリポジトリを適切なテンプレートで再初期化できます。git init.git

1.7.1 より前のバージョンの Git では、git init --template ~/.git_template私と同じように、ディレクトリを他のドット ファイルとともに管理したい場合は、 を実行するとうまくいきます。また、環境を使用して、テンプレート ディレクトリの場所を確認すること.git_templateもできます。$GIT_TEMPLATE_DIRgit init

おすすめ記事