赞
踩
当git仓库中添加&删除了大文件后, 历史记录仍然有该文件, 并且影响到clone和pull的速度.
查找前5个大的文件
git rev-list --objects --all | grep "$(git verify-pack -v .git/objects/pack/*.idx | sort -k 3 -n | tail -5 | awk '{print$1}')"
删除文件或目录的历史记录
git filter-branch --force --index-filter 'git rm -rf --cached --ignore-unmatch 文件或目录' --prune-empty --tag-name-filter cat -- --all
以下命令删除文件引用并强制推送到远程仓库
- rm -rf .git/refs/original/
- git reflog expire --expire=now --all
- git gc --prune=now
- git gc --aggressive --prune=now
- git push origin --tags --force
- git push origin --all --force
请确保本地是最新的代码
如果有多个分支, 请确保本地都创建了分支, 并且所有分支都是最新的代码!!!!!
请确保被删除的文件不需要回滚, 不再被需要
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。