我有一个全局git钩子post-commit
,它位于:
~/.git_templates/hooks/post-commit
我已经使它全球化了
git config --global init.templatedir '~/.git_templates'
使用git init
更新我的git项目的设置。
然而,有一个项目在下面有自己的post-commit
钩子:
~/src/git.repo/.git/hooks/post-commit
本地一个运行,但阻止全局一个运行。我怎样才能实现两者都在提交后运行?
我想避免在本地提交后钩子中添加命令。
2条答案
按热度按时间avwztpqn1#
可以设置全局钩子路径。
这将忽略本地钩子并只运行全局钩子脚本。
另外如果要同时运行本地和全局钩子,可以手动从全局钩子调用本地钩子。
例如:从全局
pre-commit
钩子调用此脚本。run-local-hook
文件:kgqe7b3p2#
可能的变通方法是:
$GIT_DIR/hooks/my-post-commit
my-post-commit
不是一个标准的客户端钩子名称,所以它不会被Git自动运行。只有你的全局钩子会这样做,它会调用用户设置的客户端自定义脚本。
这并不能改变这样一个事实,即如果本地
$GIT_DIR/hooks/post-commit
确实存在,它仍然会阻止全局钩子的运行。