如果行数大于 x,Github 会阻止提交更改 [重复]

Posted

技术标签:

【中文标题】如果行数大于 x,Github 会阻止提交更改 [重复]【英文标题】:Github prevent commit changes if number of lines is greather than x [duplicate] 【发布时间】:2021-10-03 00:06:51 【问题描述】:

我们已经为公司的 nodejs 后端项目和 React js 前端项目实施了编码标准,其中文件的最大行数应小于 250。我们希望防止开发人员提交行数较多的文件超过 250。

除了手动审查提交之外,我们如何实现自动化?

【问题讨论】:

如果我理解正确你的项目是用 js 编写的,那么你可以使用 eslint 的预提交:levelup.gitconnected.com/… 那么,一个类实现不能有超过 250 行的代码,除非人为地将一些代码放在另一个文件中然后导入它 - 除了 250 行限制之外没有其他原因?这个限制的真正动机是什么? javascript 数据的查找表呢? 【参考方案1】:

Eslint 有一个rule that enforces a maximum number of lines per file。如果你将它包含在你的 Eslint 编码标准中,如果你的文件超过这个限制,它将失败。您可以将其与 pre-commit Git hook 结合使用,以在每次提交时运行编码标准。

不幸的是,Git 挂钩不被视为存储库的一部分,因此在克隆存储库时不会重新创建。让 ESLint 在持续集成环境中运行也是一个好主意,这样当有人推动时,任何违反标准的行为都会被发现。

【讨论】:

【参考方案2】:

在“客户端/开发者”端,您使用husky 设置预提交挂钩以运行检查。

Eslint 有一个您可以使用的max-lines 规则。

出于性能原因,您可能希望使用 lint-staged 仅在更改的文件上运行 eslint。

当然,这一切都是“在客户端”完成的,您必须相信开发人员能够正确安装和配置工具,并且不会禁用它们。如果您想更加确定,可以将 eslint 作为 CI 的一部分运行,如果检测到任何错误,则使其失败。

【讨论】:

以上是关于如果行数大于 x,Github 会阻止提交更改 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

导出Excel功能,如果行数超过65535行,怎么解决

导出Excel功能,如果行数超过65535行,怎么解决

如何计算查询结果行数?

SQL Server中的@@ROWCOUNT

当屏蔽字段具有“只读”属性时,jQuery Inputmask 插件会阻止表单提交

阻止用户返回并查看以前提交的表单Rails