Git/GitLab – 拒绝使用原始二进制文件而不是 LFS 指针文件的提交

问题描述 投票:0回答:1

我们使用 Git LFS 在 GitLab 存储库中存储

.png
文件。但是,提交有可能包含原始
.png
文件而不是 Git LFS 指针文件。 (例如,某人可能没有安装 Git LFS 并将原始文件推送到存储库,或者他们可能在没有 git hooks 的情况下提交和推送)。如果作者和审阅者都没有注意到并且文件最终位于主分支中,则该图像最终将永久占用存储库历史记录中的空间。

问题:有没有办法让 GitLab 拒绝包含应该是 Git LFS 文件的二进制文件的提交?或者也许还有另一个类似的解决方案?


本质上,我们似乎遇到了与这个问题中相同的问题,但我们正在寻找方法来防止它在未来发生(例如,与可能没有或不了解 Git LFS 的新贡献者)。

我还没有找到任何关于拒绝应该是 Git LFS 文件的文件的具体信息。我想人们可以尝试实现一个自定义的 Git 服务器钩子 (或更糟糕的是,一个管道作业 - 将忽略中间提交),它将调用一个自定义脚本,该脚本将遍历存储库并查找非 LFS

.png
文件。但这看起来很老套。

如果有一个专门针对这个问题的解决方案,那就太好了,我想应该有一个解决方案,因为在我看来,任何使用 Git LFS 的人都会遭受有人意外上传原始文件的可能性。

git git-lfs
1个回答
0
投票

使用命令

git lfs fsck --pointers
添加 CI 检查,自版本 3.0.1 起可在 git lfs 中使用

© www.soinside.com 2019 - 2024. All rights reserved.