Github: 拒绝包含 DOS 换行符的提交

Github: Reject commits containing DOS newline characters

如果任何文件中有 DOS 换行符,github 是否有办法完全拒绝提交?

(我知道 github 接口有一个设置来确保 DOS 换行符不被提交,但如果这个设置没有打开,我想保险一下。)

Is there a way for github to completely reject a commit

这听起来像是服务器端挂钩。这是不可能的:GitHub webhook 可以注册推送事件,而不是拒绝推送。

这给你留下了一个 client side hook(需要部署在 all 客户端上,无论如何都可以绕过)

在这种情况下,预提交挂钩更明智(无需等待推送发现内容错误的提交)。

您还可以选择 .gitattributes(请参阅“Mind the End of Your Line") in order to instruct git to always replace CRLF by LF (*.txt eol=lf): see .gitattributes End-of-line conversion
这比客户端挂钩更健壮。