修复github大文件推送问题
最近在 git commit
当中不小心 commit 进了一个 200多MB的视频大文件,以及超出了Github最大的推送上限(100MB).为此,删除后重新推送,但是问题依旧

后面查阅资料得知: 这个大文件任然包含在git历史记录当中,git push
会尝试推送所有本地不存在于远程仓库的历史记录,所以它依然会尝试推送那个有问题的旧提交,导致推送失败。因此,写了这篇BLOG,记录解决修复 github大文件推送的过程
BFG Repo-Cleaner
进过搜索,git-filter-branch
是git官方解决这类问题的方案,但是操作比较繁杂。为此,选用了 BFG Repo-Cleaner 这个项目,能够更加便捷的清理git当中的问题块。

STEP0: 先备份 以免发生以外
就复制一份吧,没什么好说的
STEP2: 使用BFG清理大文件
将下载出来的jar包和clone出来的裸克隆rep放在一个目录下,然后执行
1 | $ java -jar ./bfg-1.15.0.jar --delete-files sunset.mp4 geekie_yuan.github.io.git |
其中 ./bfg-1.15.0.jar 是你的jar包路径;sunset.mp4 替换成你需要删除大文件的名字;geekie_yuan.github.io.git 是你的rep名称

执行过后按理来说大文件记录就被删除了,cd回需要推送的仓库,然后git push就成功了

Comments