Git钩子文件命名

5
我想要在本地禁止提交/推送到主分支,因此希望安装一些自定义的钩子,但是Git文档中关于自定义钩子用法和文件命名的部分让我感到困惑。 以下是来自https://git-scm.com/book/gr/v2/Customizing-Git-Git-Hooks的摘录:
“所有示例都是以shell脚本编写的,其中还包含一些Perl代码,但是任何命名正确的可执行脚本都可以正常工作-您可以使用Ruby或Python等语言编写它们。如果要使用捆绑的钩子脚本,则必须将它们重命名;它们的文件名都以.sample结尾。 要启用钩子脚本,请在Git目录的hooks子目录中放置一个适当命名且可执行的文件。从那时起,它应该被调用。我们将在此处介绍大多数重要的钩子文件名。”
所以我有两个问题: 1.文档中引用的“适当”命名是什么?据我所知,在该页面上没有定义。 2.如果使用自定义的pre-commit脚本(而不是捆绑的pre-commit.sample),假设保留了捆绑的脚本,它是否会覆盖捆绑的脚本?或者它们都将依次运行,如果是,顺序是什么?
2个回答

2
钩子文件/脚本的命名方式如文档中所述。 git help hooks 显示的是明确的名称:
HOOKS

   ...

   pre-commit
       This hook is invoked by git commit, and can ...

如果您更喜欢在线阅读,它们也在Git Book中:

pre-commit钩子首先运行,在...

然后,这些文件的名称就是字面上的,例如:.git/hooks/pre-commit

0

钩子的主要问题在于它们无法提交到您的代码库中。

有一些解决方案可以帮助解决这个问题,我也写了我的解决方案,旨在简单易用、可扩展,并且适用于任何编程语言。

https://pypi.org/project/hooks4git

你可以在以下位置找到其他相关内容:

https://githooks.com/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接