Git LFS总是将图像文件显示为已更改?

sta*_*kos 6 git git-lfs

我只是为一个项目设置Git LFS,对于非图像文件(例如预编译库),它工作得很好.但即使我尝试重置(git checkout --)它们,所有的.png和.jpg文件也会一直显示为修改过.

条目看起来都是一样的.gitattributes:

*.jpg filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.so filter=lfs diff=lfs merge=lfs -text
Run Code Online (Sandbox Code Playgroud)

输出git diff不是非常有用:

diff --git a/Design/faviconit/favicon.ico b/Design/faviconit/favicon.ico
index 3202014..b5d3daf 100755
Binary files a/Design/faviconit/favicon.ico and b/Design/faviconit/favicon.ico differ
Run Code Online (Sandbox Code Playgroud)

我不确定我应该采取哪些其他步骤来诊断问题.有没有其他人遇到这个?有任何想法吗?谢谢!

更新:

它实际上不是所有的图像文件,只是它们的一部分.但只有图像文件显示问题.

我尝试删除所有有问题的图像并推送该提交.然后在另一台机器上我添加了一些文件并再次推送.当我提取新的更改时,我遇到了同样的问题:文件立即显示为已修改.这些文件在磁盘上看起来是正确的,实际上与原件相同.

sta*_*kos 6

噢......经过大量的检查和检查以及从网络上的各种机器推拉,我们发现其中一个git lfs install没有在本地工作副本上运行.所以它推送原始二进制文件而不是LFS文本记录.

要修复它,我们必须运行init命令,然后提交并推送所有损坏的文件(在验证我们已经暂存了LFS文本记录而不是图像本身).

希望LFS可以在某些时候捆绑到Git发行版中并避免这个问题.