使用gruntjs作为precommit钩子

And*_*rle 9 git pre-commit-hook gruntjs

有没有办法以预先挂起的方式运行gruntjs任务.例如,我想防止提交失败的测试或jshint问题.我还考虑为每次提交运行代码美化器.

Sin*_*hus 9

Git钩子只是在执行像commit这样的操作时执行的脚本.它们可以包含您喜欢的任何编程语言.

触发grunt的示例:

#!/bin/sh
grunt
Run Code Online (Sandbox Code Playgroud)

将其保存在文件中: .git/hooks/pre-commit

如果grunt以高于0的错误代码退出,如果任何任务失败,它会执行,它将阻止提交:

从此挂钩退出非零会中止提交


阅读材料:http://codeinthehole.com/writing/tips-for-using-a-git-pre-commit-hook/

和git docs:http://git-scm.com/book/en/Customizing-Git-Git-Hooks

与许多其他版本控制系统一样,Git可以在发生某些重要操作时触发自定义脚本.

  • 不要忘记在预提交文件上执行chmod + x (2认同)

chr*_*isM 5

我最近遇到了同样的问题,并在http://viget.com/extend/grunt-getting-started-with-git-hooks上详细介绍了更全面的Grunt解决方案