git - 如何在历史记录中找到已删除的 GIT LFS 文件?
问题描述
我收到一封来自 GitHub 的电子邮件,告诉我我的 Git LFS 配额已接近 1 GB。但是,使用 时git lfs ls-files
,它只显示 3 个文件,总共大约 100 MB。在过去的某个时候,我记得在删除它之前添加了一个 ~800 MB 的文件到 Git LFS,但它似乎仍然对我不利。
该文件将有一个“.spp”扩展名,但它不会显示在ls-files
. 在这一点上,我只是想找到文件的 ID,所以我希望可以从历史记录中删除它,但我什至找不到文件。
有没有办法通过 git lfs 历史来查找所有添加的文件,即使它们不再存在?
谢谢。
解决方案
git find fat commit 的答案涵盖了查找大型提交。您可以使用BFG Repo Cleaner删除历史记录中的大文件。但有一个更好的解决方案。
相反,您应该将大文件历史记录转换为 git-lfs。git lfs migrate
提供工具。它们都面向某些文件扩展名。
例如,运行git lfs migrate info
以查找大文件集。例如...
$ git lfs migrate info --everything
migrate: Sorting commits: ..., done
migrate: Examining commits: 100% (296/296), done
*.html 2.3 MB 144/144 files(s) 100%
*.rb 1.7 MB 699/712 files(s) 98%
然后使用git lfs migrate import
将其历史转换为使用 Git LFS。例如,要转换所有.spp
文件...
git lfs migrate import --include='*.spp' --everything
推荐阅读
- ocr - Tesseract.JS - OCR 没有返回正确的文本结果
- events - 多个 Grails 事件总线
- symfony4 - Symfony 4:解析错误:语法错误,意外
- containers - WSL 安装无效的命令行选项
- android - 使用 RecyclerView 进行 Kotlin espresso UI 测试
- reactjs - 我无法从 api 获取数据以做出反应
- c# - Newtonsoft JsonConvert vs System.Web.Helpers Json - 类型转换问题
- prestashop - 数据库中的 Prestashop 数量为 0,但实际数量显示在 BO
- mysql - 如何集成安全消息传递反应原生聊天项目?
- java - 非遗传局部搜索算法