为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

回首忆惘然 2019-05-24 15:10:18
如何从Git存储库中的提交历史记录中删除/删除大文件?偶尔我会把一个DVD-rip放到一个网站项目中,然后不小心git commit -a -m ...,然后,zap,回购邮件被2.2演出臃肿。下次我做了一些编辑,删除了视频文件,并提交了所有内容,但是历史记录中的压缩文件仍然存储在存储库中。我知道我可以从那些提交开始分支并将一个分支重新绑定到另一个分支。但是我应该怎么做才能将2个提交合并在一起,以便大文件在历史记录中没有显示并在垃圾收集过程中被清除?
查看完整描述

4 回答

?
aluckdog

TA贡献1847条经验 获得超7个赞

使用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 --aggressive

BFG通常比运行速度快至少10-50git-filter-branch,并且通常更易于使用。


查看完整回答
反对 回复 2019-05-24
  • 4 回答
  • 0 关注
  • 1634 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信