我有一个存储库,其中有一个带有大量垃圾文件的“垃圾箱”文件夹(之前的开发人员想要出于任何原因存储它们)。我想完全从repo中删除它们,因为它们占用了大约1.5 GB的空间。我已经看到了这样的问题:Remove folder and its contents from git/GitHub's history但我的有点不同:最初“垃圾”文件在其他地方,所以我需要:
怎么做?
答案 0 :(得分:4)
您可以使用BFG Repo-Cleaner
BFG是一种比git-filter-branch更简单,更快速的替代方案 清理Git存储库历史记录中的错误数据
更简单:BFG并不特别聪明,但专注于制作 上述任务很容易
的示例:
删除名为' myfolder':
的文件夹bfg --delete-folders myfolder my-repo.git
删除所有名为' id_rsa'的文件或者' id_dsa' :
bfg --delete-files id_{dsa,rsa} my-repo.git
删除大于50兆字节的所有blob:
bfg --strip-blobs-bigger-than 50M my-repo.git
删除名为' .git'的所有文件夹或文件 - Git中的保留文件名。当从Mercurial等其他源代码控制系统迁移到Git时,这些通常会成为一个问题:
bfg --delete-folders .git --delete-files .git --no-blob-protection my-repo.git