我已经编写了一个Git post-commit钩子,它可以正常工作。然而,我想添加这个钩子来应用于我正在处理的所有当前(和未来) git存储库。我尝试将钩子添加到我的~/.git/hooks/中,而不是添加到项目目录中的钩子目录中,然而,这似乎不起作用。
有没有办法创建全局Git钩子,应用于我系统上的所有存储库(而不必将它们复制到每个项目目录中)?如果没有,那么下一步的最佳解决方案是什么--也许是git-init模板?
发布于 2016-05-18 15:42:37
我想添加这个钩子,以应用于我正在处理的所有当前(和未来) git存储库
有了git 2.9+ (2016年6月),你所能做的就是:
git config --global core.hooksPath /path/to/my/centralized/hooks参见"change default git hooks":这是用来管理集中式钩子的。
发布于 2012-01-13 05:34:26
从git 1.7.1开始,你可以在你的gitconfig中设置init.templatedir来告诉git去哪里寻找模板。
如下所示:
git config --global init.templatedir '~/.git_template'之后,您创建或克隆的新存储库将使用此目录作为模板。在~/.git_template/hooks中放置所需的挂钩。通过在.git所在的同一目录中运行git init,可以使用适当的模板重新初始化现有存储库。
对于早于1.7.1的git版本,如果您和我一样,仍然希望管理.git_template目录和其他点文件,那么运行git init --template ~/.git_template就可以了。您还可以使用$GIT_TEMPLATE_DIR环境告诉git init您的模板目录在哪里。
发布于 2010-02-19 09:49:47
如果您希望它们位于系统中的任何位置(包括您之外的用户),您可以修改已安装模板目录的内容-这些内容位于$PREFIX/share/git-core/templates/hooks中,其中的$PREFIX可能是/usr/local或/usr。
如果你想让它只为你所用,那么是的,最简单的就是git-init的--template选项。您可以轻松地保留一个个人模板目录,其中包含指向您想要保留的已安装默认版本的符号链接(单独的挂钩、info目录...)然后是您自己在hooks/post-commit中的内容,以及您想要自定义的任何其他内容。
https://stackoverflow.com/questions/2293498
复制相似问题