10

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

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

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

[28bbec36fe441b7de97d566872c71cd4542384d871b369168285408c1f062cfd] 对象在服务器上不存在或您无权访问它

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

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

4

1 回答 1

13

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

# git lfs push --object-id origin [oid] [oid] [oid]
$ git lfs push --object-id origin 28bbec36fe441b7de97d566872c71cd4542384d871b369168285408c1f062cfd
于 2016-02-08T09:58:07.103 回答