git hook

git hook https://git-scm.com/docs/githooks

  • 什么是git hook

git hook官网的介绍,git hook 其实就是钩子

钩子可以放在钩子目录中,在git的执行过程中触发某些操作。没有可执行位集的钩子被忽略。大家去看一下jQuery和一些开源框架的源码,会发现很多项目在提交commit的时候都会触发一些脚本来检查代码和做一些test动作

  • 有啥用

用处大得很,简单来说,规避风险和偷懒,我们不想把时间花在找一个语法错误的bug上面,也不想做一些重复性的操作,比如持续集成

现在大部分的持续集成的构建环境,比如travis和jekkins基本上和git hook的原理有关系

  • 举例,iview的源码
git hook_第1张图片
iview.png
  • pre-commit
    https://github.com/observing/pre-commit
    pre-commit 配置是一个数组,可以添加多个命令,会依次执行。

同理,pre-push 的安装和配置为:

安装:

npm install --save-dev pre-push

  • 配置,在 package.json 中配置 pre-push,例如在 push 前运行测试:

{

……

"scripts": {

" test": "……",

},

"pre-push": ["test"]

}

你可能感兴趣的:(git hook)