下载代码
git clone http://jiaochengziyuan.cn/david/dandroid.git
进入项目目录,查看git仓库大小以及大文件
# 查看仓库大小
git count-objects -vH
# 查看最大的10个文件
git rev-list --objects --all | grep "$(git verify-pack -v .git/objects/pack/*.idx | sort -k 3 -n | tail -10 | awk '{print$1}')"
删除大于1M的文件
java -jar bfg-1.14.0.jar --strip-blobs-bigger-than 1M dandroid.git
删除文件夹
# 注意:文件夹名字,而不是文件夹路径,要小心别把其他文件夹中的同名的文件夹删除了
java -jar bfg-1.14.0.jar --delete-folders 清理的文件夹名字 dandroid.git
根据名称删除文件
# 注意:这是文件名只是名字部分,不包含路径
java -jar bfg-1.14.0.jar --delete-files 删除的文件名 dandroid.git
Delete all files named ‘id_rsa’ or ‘id_dsa’ :
bfg --delete-files id_{dsa,rsa} my-repo.git
压缩代码并清除日志
git reflog expire --expire=now --all && git gc --prune=now --aggressive
强制推送
# 强制推送
git push origin --force --all
# 推送到新的git仓库
git push --mirror http://192.168.1.106:27080/backend/dandroid
参考地址
https://rtyley.github.io/bfg-repo-cleaner/