我收到一封来自 GitHub 的电子邮件,告诉我我已接近 Git LFS 的配额,即 1 GB。但是,当使用 git lfs ls-files 时,它只显示 3 个文件,总共约 100 MB。在过去的某个时刻,我记得在删除之前向 Git LFS 添加了一个约 800 MB 的文件,但似乎这仍然对我不利。
该文件的扩展名是“.spp”,但它不会显示在 ls-files
中。此时我只是想找到该文件的 ID,以便希望将其从历史记录中删除,但我什至找不到该文件。
是否有某种方法可以通过 git lfs 历史记录来查找所有添加过的文件,即使它们不再存在?
谢谢。
最佳答案
the answers to 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
关于git - 如何找到历史记录中已删除的 GIT LFS 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50822438/