- git使用的挂钩,在Git执行特定事件(如commit、push、receive等)后触发运行的脚本。
- 默认情况下,hooks目录是$GIT_DIR/hooks,但是可以通过core.hooksPath配置变量来更改(详情见 git-config [1])
hooks目录大概长这样:
- 如上图,每个文件对应一个特定事件。为了防止它们默认被执行,每个后面都加了.sample 拓展名,所以当你使用的时候需要去掉它。
- 目录下提供的案例默认使用的都是shell脚本语言,但你可以使用任何脚本语言。比如当你用Python来编写的时候,你只需要将你的path改为Python对应解释器的路径即可。如下图,在prepare-commit-msg文件中写如下代码,之后当你每次git commit的时候,默认的提交信息都会被替换成下面这句话。
- Husky是一个工具,它允许我们轻松地处理Git Hooks 并在提交代码时运行我们想要的脚本。它会在package.json 文件中加入一个对象,然后我们就可以在项目代码中控制Git Hooks了。