git - 设置预提交钩子(Hook) jshint

标签 git github jshint pre-commit-hook

我最近开始了一个 project on github . 我已经设法在每次使用 Travis 提交后设置自动测试。但现在我也想用 jshint 设置一个预提交 Hook 。所以如果 jshint 报告错误,提交应该失败。但这可能吗?如果可能,该怎么做?

最佳答案

有一种更简单的方法可以在您的 Node.js 工作流程中进行预提交检查(例如 JSHint):

安装 jshint来自 NPM:

npm 安装 jshint

接下来,如果您的项目中还没有一个 .jshintrc 文件,请创建一个。 例如:https://github.com/nelsonic/learn-jshint/blob/master/.jshintrc

现在安装pre-commit模块(并将其保存为开发依赖项):

npm install pre-commit --save-dev

接下来,您需要在 package.json

中定义将为 JSHint 运行的任务(脚本)

例如:

{ “脚本”:{ “jshint”:“jshint -c .jshintrc --exclude-path .gitignore 。” }

然后注册要在提交前运行的脚本(也在 package.json 中)例如:

“预提交”:[“jshint”、“coverage”、“etc”]

这使您可以在提交前的工作流程中进行不止一项检查。 (我们有检查以确保团队成员的代码符合 JSHint、代码风格和测试覆盖率是 100%)

有关您可以与您的团队分享的更详细的教程,请参阅:https://github.com/nelsonic/learn-pre-commit

关于git - 设置预提交钩子(Hook) jshint,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15703065/

相关文章:

git - 只有一个子目录的Svn到Git

git - 为什么 "git log -‌- foo"对删除的文件 foo 不起作用?

git - 查找特定于分支的第一个提交

maven - 如何将 Sonatype Nexus 存储库组与 Github 原始存储库结合使用?

javascript - 你如何一起使用 JSHint 和 Browserify?

javascript - JSLint 100% 有效的 Google Universal Analytics 片段,修复 "Unexpected assignment expression"

git - Git 软件(例如 Gitbox、Github、SourceTree)可以使用远程仓库而不是本地仓库吗?

git - 将我的 github 分支回滚到较早的提交

git - 重启后的 Jenkins 在删除的分支上运行规范

javascript - JSHint 选项默认值的完整列表?