Git checkout只在某些机器上提供指针文件

Git checkout只在某些机器上提供指针文件,git,jenkins,jenkins-pipeline,git-lfs,Git,Jenkins,Jenkins Pipeline,Git Lfs,我有一些在多台windows机器上运行的Jenkins管道作业。据我所知,这些机器的配置完全相同。但是在一些机器上,git存储库的签出会让我看到git lfs指针文件,而不是它们指向的二进制文件 如果我随后调用gitlfs pull,它将解析二进制文件。但我试图弄明白为什么它不能在结账时解决这些问题 我已经确认,在两台机器上,一台工作正常,另一台工作不正常,都有相同版本的git(2.21.0)和git lfs(2.7.2) 是什么原因导致git lfs在签出时无法解析二进制文件?为了让git l

我有一些在多台windows机器上运行的Jenkins管道作业。据我所知,这些机器的配置完全相同。但是在一些机器上,git存储库的签出会让我看到git lfs指针文件,而不是它们指向的二进制文件

如果我随后调用
gitlfs pull
,它将解析二进制文件。但我试图弄明白为什么它不能在结账时解决这些问题

我已经确认,在两台机器上,一台工作正常,另一台工作不正常,都有相同版本的git(2.21.0)和git lfs(2.7.2)


是什么原因导致git lfs在签出时无法解析二进制文件?

为了让git lfs自动签出文件,您需要正确设置过滤器选项。您可以运行
git lfs env
,它应该在底部打印三个
git config
命令。正确配置后,它们应该如下所示:

git config filter.lfs.process = "git-lfs filter-process"
git config filter.lfs.smudge = "git-lfs smudge -- %f"
git config filter.lfs.clean = "git-lfs clean -- %f
如果该值为空或系统看起来不正确,则应适当配置该值,或使用
git lfs install--skip repo
以每个用户为单位进行安装(或使用该命令的其他选项之一将其安装到其他位置)

请注意,如果您不确定它在其工作的系统上的设置位置,可以使用
git config-l--show origin
进行检查,然后将配置复制到另一个系统上相同的位置