如何彻底删除Git分支历史中的大文件?已尝试filter-branch无效
彻底清理Git仓库中大文件历史的方法
因为问题分支未合并到master,直接针对该分支及残留对象处理即可,步骤如下(仅在能拉取仓库的Mac设备上操作):
切换到主分支(如master):
git checkout master强制删除本地的问题分支(无需确认合并状态):
git branch -D <你的问题分支名称>清理filter-branch留下的原始分支备份(如果之前用过filter-branch):
git for-each-ref --format="%(refname)" refs/original/ | xargs -n 1 git update-ref -d让所有废弃的引用立即过期:
git reflog expire --expire=now --all执行彻底的垃圾回收,清理所有未被引用的大文件对象:
git gc --prune=now --aggressive删除远程仓库上的问题分支:
git push origin --delete <你的问题分支名称>
完成以上步骤后,远程仓库的体积会恢复正常,其他设备即可正常拉取。
内容的提问来源于stack exchange,提问作者Ruben_8_24
相关产品推荐
相关产品推荐

