删除LFS文件后文件无法浏览或本地推送失败如何处理?

在 Codeup 的管理页面删除LFS文件后,如果在源码页面浏览会提示:

删除LFS文件后

出现这种情况的原因是,Git LFS Pointer文件仍旧存在于存储库中,但是找不到Git LFS存储中的oid文件。

在 Codeup 源码浏览页面,你会看到类似于以下内容的“文件丢失”消息,而在你的命令行终端中,如果你执行git push等相关命令,你也会看到类似的提示:

[404] Object does not exist on the server
[xxxxxxxxxxxxxxx...xxxxxxxxxxxxxxx] Object does not exist on the server

解决办法是,如果你存有被删除文件或者访问该文件的权限,可以尝试重新添加并上传至Git-LFS服务器:

$ cp 原始文件 xxx.data
$ git add xxx.data
$ git lfs push <remote> <branch> --all
$ git checkout xxx.data

同样,如果无法找到原始的文件,面对这种情况则无能为力。

更多Git LFS 使用说明参见Git 大文件存储