很久以前我提交了一个相当大的文件夹,它实际上不应该存在于我的存储库中,但我最近才明白这一点。
我找到了another question with a similar problem,并决定尝试所选的解决方案:
git filter-branch --index-filter 'git rm -r --cached --ignore-unmatch unwanted_folder' --prune-empty
git gc --aggressive --prune
幸运的是,我很聪明,不能在文件夹本身上尝试这个(因为它包含非常重要的数据),并且在我的存储库中长时间使用的非重要小文件上尝试了这个。我尝试的解决方案最终删除了该文件的本地副本。不幸的是,我没有检查它是否真的从我的存储库历史中删除了,因为保留我的本地副本是一个更高的优先级。
所以我备份了我的本地副本并尝试了相同的过程。它不起作用,文件夹保留在我的历史记录中,也在.pack
文件中,这实际上是历史记录(如果我错了,请纠正我)。
我发现的另一个潜在解决方案是使用“BFG Repo-Cleaner”工具。所以我按照他们网站上的确切说明(当然我想要的过滤器:--delete-folders media
),猜猜是什么?它没用。哦,另一件事,我的总存储库大小 DOUBLED 。
我真的不想开始新的存储库 -
拜托,帮助。