我有一个名为的项目geoplot
,它在 Python 中进行地理空间绘图。它的代码通过git
GitHub 分发。你可以在这里查看。
作为这个包的开发过程的一部分,我上传并存储在geoplot
repo 中的一个名为的文件夹data/
,其中包含大量各种格式的数据文件。这些数据文件用于填充免费示例库中的示例。
但是,这些文件会使整个存储库大小膨胀到大约 150 MiB(问题)。这显然太过分了,现在是我摆脱它们的时候了。
问题是我不仅需要从当前删除这些文件HEAD
,还需要从整个git
历史记录中删除这些文件。我尝试了一种手动方法git rebase
,但没有奏效。然后我尝试了该BFG Repo-Cleaner
工具,正如关于此事的规范 SO 问题中所建议的那样。
BFG 把这些文件删掉了——它们不再存在于历史上的任何地方。但是,repo 的大小(如运行时所见https://github.com/ResidentMario/geoplot.git
)根本没有下降!
这是我尝试过的(减去打印输出):
java -jar ../bfg-1.12.15.jar --delete-folders "data" .
git reflog expire --expire=now --all && git gc --prune=now --aggressive
git push --set-upstream https://github.com/ResidentMario/geoplot.git master --force
完整的打印输出在 GitHub 上的一个问题中。
如果有的话,我做错了什么?我如何诊断和清除这个浪费空间的来源?