记一次 git lfs Smudge error: Error downloading 错误的处理。
问题:
拉取最新的工程代码 执行git pull 命令,原本一切顺利但是突然出现了 Smudge error: expected json type got "" 的错误。
解决过程:
-
从字面理解是未获取到对应的文件使用了git lfs prune 打算清理掉lfs的缓存来处理 (无效)
-
思考了一下打算先取消lfs对json文件的追踪使用命令 git lfs untrack "*.json" 再次执行 git lfs prune 和 git pull 错误从原来的 Smudge error: expected json type got "" 变成了 Smudge error: Error downloading XXX.json not found: [404]
-
404这个错误应该都明白就是源服务器找不到对应的文件了,应该是其他人被提交或者删除了文件的信息导致SHA1的改变。
-
既然知道文件已经有了,转变思路通过git工具查看 Error downloading XXX.json这个文件SHA1,并且利用git revert XXX.json将其还原成HEAD对应SHA1(这注意这个命令一定要在别的还原之后进行,否则又还原了lfs)
-
再次执行git lfs prune 清理缓存
-
执行git pull 问题得以解决
结果:
-
执行 git revert XXX.json
-
执行git lfs prune
-
git pull