赞
踩
最近遇到git上工程突然变得很大,原因是.git/objects/pack 文件过大,之前上传过大文件,文件虽然删除,但是记录还在,在此先记录一下。
# 例如:查询最大的三个文件的信息 git verify-pack -v .git/objects/pack/pack-*.idx | sort -k 3 -g | tail -3 # 查询对应文件的位置和文件名 git rev-list --objects --all | grep 对应文件的编码(上面命令结果中获取) # 处理文件,将文件从历史记录中移除 git filter-branch --index-filter 'git rm --cached --ignore-unmatch 文件名(带路径,上面命令结果中获取)' rm -rf .git/refs/original git reflog expire --expire=now --all git fsck --full --unreachable git repack -A -d git gc --aggressive --prune=now # 提交 git push --force
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。