我只是为一个项目设置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
输出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
我不确定我应该采取哪些其他步骤来诊断问题.有没有其他人遇到这个?有任何想法吗?谢谢!
更新:
它实际上不是所有的图像文件,只是它们的一部分.但只有图像文件显示问题.
我尝试删除所有有问题的图像并推送该提交.然后在另一台机器上我添加了一些文件并再次推送.当我提取新的更改时,我遇到了同样的问题:文件立即显示为已修改.这些文件在磁盘上看起来是正确的,实际上与原件相同.
噢......经过大量的检查和检查以及从网络上的各种机器推拉,我们发现其中一个git lfs install
没有在本地工作副本上运行.所以它推送原始二进制文件而不是LFS文本记录.
要修复它,我们必须运行init命令,然后提交并推送所有损坏的文件(在验证我们已经暂存了LFS文本记录而不是图像本身).
希望LFS可以在某些时候捆绑到Git发行版中并避免这个问题.