从存储库中的 "git-lfs" 个文件中检索原始文件

Retrieving the original files from "git-lfs" files in a repository

我找到了一个 git 存储库,里面有我需要的一堆 *.png 文件。

然而,文件的原始格式使用 git lfs,看起来像这样:

version https://git-lfs.github.com/spec/v1
oid 
sha256:82247bedcaf9f441851f272ca2213a64b1b1084b13709eee02f185921b057efe
size 258233

我已尝试克隆存储库以查看图像,但我得到以下信息:

error: external filter 'git-lfs filter-process' failed
fatal: "file_name".png: smudge filter lfs failed
warning: Clone succeeded, but checkout failed.

"git pull"命令returns同样报错:

error: external filter 'git-lfs filter-process' failed
fatal: "file_name".png: smudge filter lfs failed.

"git lfs pull" 命令只需 returns "could not pull".

我最终想查看 "file_name".png 作为图像文件而不是 sha256 字符串。

您的存储库似乎处于错误状态。您缺少 HEAD 修订版,该修订版存在于所有 Git 存储库中至少有一次提交。 git lfs pull 和大多数其他 Git LFS 命令在没有提交的情况下无法在存储库中运行,这就是您收到该错误的原因。

由于缺乏合理的 shell 变量处理,这听起来也像是您在 Windows 上。我建议 re-cloning 你在 Git Bash 中的存储库,如果你仍然有问题,请尝试 运行 克隆(再次在 Git Bash) 前面有一个 GIT_TRACE=1,这应该有助于解释发生了什么。

请注意,如果存储库确实包含名称中带有 double-quotes 的文件,这些文件将无法在 Windows 中使用,因为 Windows 不允许文件路径包含双引号。