繁体   English   中英

git lfs 预接收钩子以防止存储库中不需要的文件

[英]git lfs pre-receive hooks to prevent unwanted files in repository

是否可以编写服务器端预接收钩子来防止通过提交将大文件或二进制文件添加到存储库中?

在本地,我可以通过将文件类型添加到 .gitattribute 文件来控制 git-lfs 行为:

    git lfs track "*.zip"

这将导致如果添加新的 zip 文件,它将由 git-lfs 管理,而不是提交到 git 对象存储。

git-p4 甚至允许我设置文件大小阈值,例如:

    largeFileCompressedThreshold = 1m
    largeFileThreshold = 50m

对于多个开发人员和开发环境,可能会发生这样的情况,即在不配置 git-lfs 的情况下添加这样的二进制文件,因此可以将这样的文件直接提交给 git。 我想要一个拒绝这种提交并给出有意义的消息的服务器端挂钩,以便开发人员可以轻松识别问题。

理想情况下,此接收挂钩将使用现有的 git 功能来解析例如 .gitattributes,而不是手动解析脚本中提交的所有文件。

这可以使用Git-Hooks框架中CheckFile插件的 sizelimit 指令来完成。 我们使用它并且效果很好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM