我有一个名为geoplot的项目,它用Python进行地理空间绘图。其代码是通过git在GitHub上分发的。你可以在这里查一下。
作为该包开发过程的一部分,我上传并存储在geoplot repo中的一个名为data/的文件夹,该文件夹包含大量不同格式的数据文件。这些数据文件用于填充免费示例图库中的示例。
然而,这些文件使整个存储库的大小增加到~150 MiB (问题)。这显然太过分了,现在是我摆脱它们的时候了。
问题是,我不仅需要从当前的HEAD中删除这些文件,还需要将这些文件从整个git历史记录中删除。我尝试了一种使用git rebase的手动方法,但没有起作用。然后,我尝试了BFG Repo-Cleaner工具,就像关于这件事的典型问题中推荐的那样。
BFG摆脱我的档案好了-他们不再存在于历史上的任何地方。但是,回购的大小(如运行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的问题上。
我做错什么了?我如何诊断和消除这一浪费空间的来源?
发布于 2017-09-17 18:18:17
(注:repack)
首先,检查是否再次克隆您的回购,您仍然有相同的大小。
master)。
吉特推-标签起源-力量发布于 2017-09-17 23:07:50
这听起来像是一个没有外部工具就可以通过利用filter-branch来解决的问题。
如果要删除data目录的所有历史记录,可以从回购目录的根目录运行以下内容。
git filter-branch --index-filter 'git rm --cached --ignore-unmatch -r path/to/data' HEAD这将改变当前HEAD指针祖先项中的每个提交。然后,您必须更新所有其他分支和标记,以这些新创建的提交,以完全删除行李从您的回购。
https://stackoverflow.com/questions/46266906
复制相似问题