使用Gitee云仓库控件占用太大,不给往上传东西了,究其原因时上传了乱起八糟的东西,要把这些东西删除掉,他可能不在现在版本中,所以要用命令去仓库中去找,彻底删除,即使是历史版本中他也不存在
第一步找到乱七八糟的东西的目录,这里给出几种命令
1.
$ git log --pretty=format: --name-only --diff-filter=A | sort - | sed '/^$/d'
2.
git rev-list --objects --all \
| git cat-file --batch-check='%(objecttype) %(objectname) %(objectsize) %(rest)' \
| sed -n 's/^blob //p' \
| sort --numeric-sort --key=2 \
| cut -c 1-12,41- \
| $(command -v gnumfmt || echo numfmt) --field=2 --to=iec-i --suffix=B --padding=7 --round=nearest
我也不知道者区别是什么
第二部删除
git filter-branch --force --index-filter 'git rm --cached -r --ignore-unmatch XXXX' --prune-empty --tag-name-filter cat -- --all
xxx是文件目录或者文件名,把第一步找到的东西复制出来
第三步删除缓存文件
rm -rf .git/refs/original/
git reflog expire --expire=now --all
git gc --prune=now
git gc --aggressive --prune=now
这时候再看.git文件夹就会小了很多
第四步传到云
$ git push origin master --force --all