git hook
和其它版本控制系统一样,Git 能在特定的重要动作发生时触发自定义脚本。 有两组这样的钩子:客户端的和服务器端的。 客户端钩子由诸如提交和合并这样的操作所调用,而服务器端钩子作用于诸如接收被推送的提交这样的联网操作。 你可以随心所欲地运用这些钩子。 文档
钩子
在repo的.git/hooks下放钩子脚本:
pre-commit
pre-commit hook是在执行git commit之前执行的脚本, pre-commit阶段可以做lint和test,如果失败将提示并且不做commit操作.
如上图的pre-commit脚本内容:
安装 pre-commit
npm install pre-commit
pre-commit包会根据package.json的配置执行对应的命令
比如
pre-commit的时候会执行lint和test.
错误提示
lint的提示:
总结
上面的例子用了npm包pre-commit作为hook工具,可以写别的脚本做其他事情,自动构建,等等.