计算机知识分享网

【git】git仓库清理工具bfg相关命令介绍

下载代码
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/

#Git