【问题标题】:Git deny LFS overwritesGit 拒绝 LFS 覆盖
【发布时间】:2022-01-04 11:17:55
【问题描述】:

可以用“普通”二进制文件覆盖 git lfs 指针。

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

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

【问题讨论】:

  • Git 本身不知道 Git-LFS。 Git-LFS 在之前 Git 曾经看到 交换文件。所以不可能在 Git 中处理这个问题。

标签: git bitbucket git-lfs


【解决方案1】:

这种情况并不少见,如果用户在推送之前没有在其客户端上正确配置 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 版本在这方面存在一些错误,现已修复。

【讨论】:

  • 对于所提出的问题,这是一个可行的解决方案,我很高兴收到您的来信。这是问题的答案
猜你喜欢
  • 2021-01-26
  • 2021-11-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多