pre-commit是用于管理和维护多语言预提交Hook的框架
在提交代码审查之前,Git钩子脚本可用于识别简单问题。我们在每次提交时运行我们的钩子,以自动指出代码中的问题,例如缺少分号、尾随空格和调试语句。通过在代码审查之前指出这些问题,这允许代码审查者专注于变更的体系结构,同时不会浪费时间与琐碎的样式挑剔。
当我们创建更多的库和项目时,我们认识到跨项目共享我们的预提交钩子是痛苦的。我们从项目到项目复制并粘贴了笨重的bash脚本,并且必须手动更改钩子以适用于不同的项目结构。
我们相信您应该始终使用最好的行业标准linter。一些最好的短绒是用您未在项目中使用或已安装在您的机器上的语言编写的。例如,scss-lint是用Ruby编写的SCSS的linter。如果您在节点中编写项目,则应该能够使用scss-lint作为预提交挂钩,而无需向项目添加Gemfile或了解如何安装scss-lint。
我们构建了pre-commit来解决我们的钩子问题。它是预提交挂钩的多语言包管理器。您可以指定所需的挂钩列表,并且在每次提交之前预先提交管理以任何语言编写的任何挂钩的安装和执行。预提交专门设计为不需要root访问权限。如果您的某个开发人员没有安装节点但修改了JavaScript文件,则预提交会自动处理下载和构建节点以运行没有root的eslint。
评论