如何从Git存储库中的提交历史记录中删除/删除大文件?

如何从Git存储库中的提交历史记录中删除/删除大文件?

偶尔我会把一个DVD-rip放到一个网站项目中,然后不小心git commit -a -m ...,然后,zap,回购邮件被2.2演出臃肿。下次我做了一些编辑,删除了视频文件,并提交了所有内容,但是历史记录中的压缩文件仍然存储在存储库中。

我知道我可以从那些提交开始分支并将一个分支重新绑定到另一个分支。但是我应该怎么做才能将2个提交合并在一起,以便大文件在历史记录中没有显示并在垃圾收集过程中被清除?


回首忆惘然
浏览 1638回答 4
4回答

aluckdog

使用BFG Repo-Cleaner,这是一种更简单,更快速的替代方案,git-filter-branch专门用于从Git历史记录中删除不需要的文件。仔细遵循使用说明,核心部分就是这样:$ java -jar bfg.jar --strip-blobs-bigger-than 100M my-repo.git任何超过100MB的文件(不在最近的提交中)都将从Git存储库的历史记录中删除。然后,您可以使用git gc清除死数据:$ git gc --prune=now --aggressiveBFG通常比运行速度快至少10-50倍git-filter-branch,并且通常更易于使用。
打开App,查看更多内容
随时随地看视频慕课网APP