Git hooks:应用`git config core.hooksPath`

m0rkklqb  于 11个月前  发布在  Git
关注(0)|答案(2)|浏览(132)

我有一个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

yruzcnhs

yruzcnhs1#

core.hooksPath支持是Git 2.9版本中的新功能,是在commit 867ad08a2610526edb5723804723d371136fc643中加入的。如果你的Git版本不是2.9.0,设置hooks-path变量将完全无效。

blpfk2vs

blpfk2vs2#

除了git config,我还需要将chmod +x添加到预提交文件中。
git config --local core.hooksPath .githooks/
chmod +x .githooks/pre-commit

相关问题