Git钩子:应用`git config core.hooksPath`

时间:2016-09-05 14:08:01

标签: git githooks

我有一个带有预提交挂钩设置的git存储库:

my-repo
|- .git
   |- hooks
      |- pre-commit     # I made this file executable

直到那里,一切正常。我提交时钩子正在运行。

=================================

我现在在git config core.hooksPath ./git-config/hooks中运行my-repo

文件夹结构就是这个:

my-repo
|- .git
   |- hooks
|- git-config
   |- hooks
      |- pre-commit     # I made this file executable as well

会发生什么:

  • 新的预提交脚本不会在提交
  • 上运行
  • 旧的预提交脚本仍然在提交时运行,如果我将其保留在my-repo/.git/hooks
  • git config --get core.hooksPath输出my-repo
  • 中投放./git-config/hooks

如何在提交时运行新的预提交挂钩?

以下是我显然不太了解的文档的链接:
https://git-scm.com/docs/git-config
https://git-scm.com/docs/githooks

1 个答案:

答案 0 :(得分:14)

core.hooksPath支持new in Git version 2.9,已加入commit 867ad08a2610526edb5723804723d371136fc643。如果您的Git版本不是至少2.9.0,设置一个hooks-path变量将完全没有效果。