首页 > 解决方案 > 如何将新的 git hook 安装到所有现有(克隆)存储库?

问题描述

我的机器上有大约 50 个存储库。我想为所有这些安装新创建的 git hook。

我已经创建了.git-templates文件夹并将钩子放在那里git config --global init.templatedir ~/.git-templates- 它适用于新的存储库,但现有的呢?

标签: gitgithooks

解决方案


如果您使用的是 (>= 2.9) 的最新版本git,那么我建议您使用该core.hooksPath变量。

然后你可以创建一个单独的目录来放置你所有的钩子,例如/var/myhooks,然后

git config --global core.hooksPath /var/myhooks

会立即将此目录设为所有存储库的默认挂钩目录。作为副作用,.git/hooks每个存储库中的所有挂钩都将被忽略。但是在特定的存储库中,您可以使用自己的 hooks 目录再次覆盖它:

git config core.hooksPath .git/hooks

推荐阅读