Git 拒绝 LFS 覆盖

Git deny LFS overwrites

可以用 'ordinary' 二进制文件覆盖 git lfs 指针。

除了仔细查看您的提交之外,还有其他方法可以防止这种情况发生吗?

例如拒绝此类覆盖提交的服务器端策略?

这种情况并不少见,如果用户在推送之前没有在其客户端上正确配置 Git LFS,就会发生这种情况。

Git LFS 3.0 提供了git lfs fsck --pointers选项,即documented in the manual page。您可以 运行 在您的 CI 中使用它,或者,如果 Bitbucket 提供 pre-receive 挂钩,您也可以在那里 运行 它。如果你不能使用 pre-receive 钩子,那么你就不能阻止代码被推送,但是你当然可以阻止它被合并。

我建议升级到 3.0.2,因为最初的 3.0 版本在这方面有一些错误,现在已经修复了。