git 只为 Gitlab 上的 LFS 文件克隆 sha CI

git only clones sha for LFS files on Gitlab CI

我将 .png 个文件推送到我的 gitlab.com 存储库,例如 repo_a,每个文件大小为 2+MB,由 git-lfs 跟踪。在安装了 git-lfs 的另一个仓库 repo_b 上的 CI 作业中,克隆了 repo_a。现在我看到所有 .png 文件的大小都是 132,这似乎与 sha 输出的体积相同(如下。注意:为了隐私填充了一些值):

$ git show HEAD:file-a.png | tee sha_temp
version https://git-lfs.github.com/spec/v1
oid sha256:shashashaaaashashashaaaashashashaaaashashashaaaashashashaaaa
size 2430019
$ ls -l sha_temp 
-rw-rw-r-- 1 crookednoodle crookednoodle 132 Nov  7 05:35 sha_temp

但是,在我的电脑上而不是在 Gitlab CI 上,当我 git clone repo_a.

时,我可以看到原始文件

这让我觉得这些文件的内容仍然是指针,而不是原始文件。我还注意到在我的电脑上,我在输出中看到原始文件是这样下载的:

Downloading file-a.png (2.5 MB)

但我在 CI 作业的输出中没有看到这一点。

明显相关,后续用OpenCV打开图片的过程失败了。

怎么了?

设法自己解决(绕过)问题。在目标仓库中,我将 CI 脚本修改为 运行 git lfs pull.