我有一个git repository,并设置了一个pre-commit hook:
my-repo
|- .git
|- hooks
|- pre-commit # I made this file executable
字符串
在此之前,一切正常。当我提交时,钩子正在运行。
我现在在my-repo
中运行git config core.hooksPath ./git-config/hooks
。
文件夹结构是这样的:
my-repo
|- .git
|- hooks
|- git-config
|- hooks
|- pre-commit # I made this file executable as well
型
发生的是:
- 新的预提交脚本不会在提交时运行
- 如果我将旧预提交脚本保留在
my-repo/.git/hooks
中,它仍然会在提交时运行 - 在
my-repo
中运行git config --get core.hooksPath
输出./git-config/hooks
如何让新的pre-commit钩子在提交时运行
以下是我显然不太理解的文档的链接:
https://git-scm.com/docs/git-config
https://git-scm.com/docs/githooks的
2条答案
按热度按时间yruzcnhs1#
core.hooksPath
支持是Git 2.9版本中的新功能,是在commit867ad08a2610526edb5723804723d371136fc643
中加入的。如果你的Git版本不是2.9.0,设置hooks-path变量将完全无效。blpfk2vs2#
除了git config,我还需要将
chmod +x
添加到预提交文件中。git config --local core.hooksPath .githooks/
个chmod +x .githooks/pre-commit
个