git删除二进制文件

来源:互联网 发布:淘宝店怎么升级快 编辑:程序博客网 时间:2024/06/05 19:00

会删除源文件,所以先备份

第一步:git ls-files 列出git管理的文件
第二步:git ls-files | grep 过滤关键词
第三步:git filter-branch - -index-filter ‘git rm -r - -cached - -ignore-unmatch path/to/your/file’ HEAD
第四步:git push origin currentbranch - -force
第五步:rm -rf .git/refs/original/
第六步:git reflog expire - -expire=now –all
第七步:git gc - -prune=now
第八步:git gc - -aggressive - -prune=now

说明:
所有的- - 要把中间空格去掉
第三步的path/to/your/file为你要剔除的文件路径
第四步的currentbranch为你操作的branch名

问题处理:第三步如果出现can not create new backup
执行git for-each-ref - -format=”%(refname)” refs/original/ | xargs -n 1 git update-ref -d
或者git update-ref -d refs/original/refs/heads/master解决

问题:fatal: refusing to merge unrelated histories
git merge –allow-unrelated-histories currentbranch

从缓冲区中去除git reset - - src/main/res/drawable/*.png