git仓库永久删除大文件

1、查到5个最大的文件

git rev-list --objects --all | grep "$(git verify-pack -v .git/objects/pack/*.idx | sort -k 3 -n | tail -5 | awk '{print$1}')"

2、将查到的一个大文件删除

git filter-branch --force --index-filter 'git rm -rf --cached --ignore-unmatch 大文件名' --prune-empty --tag-name-filter cat -- --all

3、彻底从本地删除

rm -rf .git/refs/original/
git reflog expire --expire=now --all
git gc --prune=now
git gc --aggressive --prune=now

4、覆盖gitlab

git push origin --force 'refs/heads/*' 
​
git push origin --force 'refs/tags/*' 
​
git push origin --force 'refs/replace/*' 

如果git命令报错 “no matching host key type found. Their offer: ssh-rsa,ssh-dss”,则在用户目录下的 .ssh文件夹下新建一个 config 文件,添加:

Host *
HostkeyAlgorithms +ssh-rsa
PubkeyAcceptedKeyTypes +ssh-rsa

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章