0

我有一个在多个分支的起源处提交的大文件。该文件后来被修改、移动或从分支中删除。问题是该文件对于 GitHub 来说太大了,所以我想从任何地方删除它(它的所有版本)。如何才能做到这一点?

我已经看到了修改包含此类文件的合并的方法(https://stackoverflow.com/a/308684/42973),或者从(显然)单个分支中删除文件的方法(https://stackoverflow. com/a/5563603/42973),但它们不适用于这种情况。

4

1 回答 1

1

使用BFG Repo-Cleaner,这是一种更简单、更快的替代方案,git-filter-branch专门用于从 Git 历史记录中删除不需要的文件。

您应该仔细按照使用说明进行操作,但核心部分是这样的:

$ java -jar bfg.jar  --strip-blobs-bigger-than 50M  my-repo.git

任何大小超过 50MB 的文件(不在您的最新提交中)都将从您的 Git 存储库的历史记录中删除。

BFG 通常至少比running快10-50 倍git-filter-branch,并且通常更易于使用。

全面披露:我是 BFG Repo-Cleaner 的作者。

于 2014-11-21T07:57:05.190 回答