在服务器上找不到 Git LFS 文件



我们一直在将 Git 与由我们自己的 Gitlab 实例托管的 git-lfs 一起使用。

有时,当一个特定的用户推送文件时,其中一些(似乎是.png文件)不会进入 LFS 存储,而是添加到 git 中。当这种情况发生在他们的机器上时,我还没有看到日志/消息。

但最终发生的事情是,当其他用户尝试从 LFS 下载该文件时,它会抛出错误:

[28bbec36fe441b7de97d566872c71cd4542384d871b369168285408c1f062cfd] 服务器上不存在对象,或者您没有访问它的权限

我尝试在 git-lfs 数据目录中的 Gitlab 服务器上手动上传一个文件,文件名的正确 SHA ID,但它似乎没有被拾取。到目前为止,我唯一的解决方案是触摸文件,使其生成不同的SHA ID,然后重新上传。

有没有办法手动将单个文件添加到 Gitlab 的 git-lfs 存储中?

我猜 git-lfs 没有正确安装在客户端推送的客户端上。但是,如果您有 git-lfs 0.5.4,您应该能够通过以下方式修复它:

# git lfs push --object-id origin [oid] [oid] [oid]
$ git lfs push --object-id origin 28bbec36fe441b7de97d566872c71cd4542384d871b369168285408c1f062cfd

最新更新