Git pre commit hook不会退出,除非它是最后一次检查,

时间:2017-11-07 17:47:10

标签: git

我已经在我的预提交挂钩中运行tslint一段时间没有问题了,我刚刚添加了stylelint。但是我注意到当我添加stylelint tslint停止工作时。经过一番挖掘后,我发现我在预提交文件中声明它们的顺序有所不同。

例如,如果这是我的预提交文件,那么ng lint上的失败将被忽略,但npm run stylelint上的失败将退出并阻止提交。

#!/bin/sh
git pull origin
ng lint
npm run stylelint

这里我翻转了ng lint和stylelint的顺序,我发现行为是相反的,现在在ng lint上的失败退出并阻止提交时忽略了stylelint上的失败。

#!/bin/sh
git pull origin
npm run stylelint
ng lint

如何编写此代码,以便在此处的任何内容返回退出代码时阻止提交?

1 个答案:

答案 0 :(得分:1)

查看this question,这最终归结为你的目标。

简短回答:在脚本开头添加set -e。一旦失败,它就会导致整个事件中止。

相关问题