以前,我从git仓库中删除了数千个.pdf文件。但问题是,即使我删除了这些文件,它们仍然存在于先前的修订版中,以便我仍然可以通过访问历史记录来恢复它们。现在我得到非常大的包文件,这是非常令人沮丧的。从以前的git修改版中彻底删除数千个.pdf文件?
现在我想要从git的所有修订中彻底删除所有这些.pdf文件,并且我不想让它们回到永远以减少我的回购的大小。我怎样才能做到这一点?所有的.pdf文件都在提交中被删除。
我在谷歌搜索,发现git filter-branch
可能解决我的问题。但我发现的所有解决方案都是在git revisons中找到非常大的文件,并将其从回购库中彻底删除。我想要的是完全删除成千上万的占用磁盘空间的.pdf文件。
任何帮助,高度赞赏。谢谢。
无论是移除一个大文件,多个大文件,多个小文件等,原理都是一样的。 filter-branch命令提取现有提交,应用过滤器,并在结果中创建新提交,然后调整分支标签(如果使用标记过滤器,则为标记)以指向新提交而不是旧提交。其中最棘手的部分是编写过滤器:如果文件都在一个已知的地方(如果只有一个大文件,那真的很容易),这会更容易。 – torek
@torek不幸的是,这些文件分布在很多目录中。但我想知道是否可以使用正则表达式在'git filter-branch'命令中编写pdf文件。 –