git 删除大问题问题
问题说明
- github 或gitee 支持的提交文件大小有一定的限制。
- git中历史提交的一些比较大的文件 即使删除了,因为提交记录存在,所以文件还会存储在.git 文件夹中,造成git目录文件比较大。
通过将大文件或记录删除可以解决
- 本地提交的大文件无法推送的问题。
- 对git文件目录瘦身。
解决方式
- 查找历史比较大的提交记录。
1 | git rev-list --objects --all | grep "$(git verify-pack -v .git/objects/pack/*.idx | sort -k 3 -n | tail -5 | awk '{print$1}')" |
得到需要的文件目录名。
- 通过 filter-branch 来重写这些大文件涉及到的所有提交(重写历史记录):
1 | git filter-branch -f --prune-empty --index-filter 'git rm -rf --cached --ignore-unmatch ${FILE_PATH_NAME}' --tag-name-filter cat -- --all |
替换 ${FILE_PATH_NAME} 为真实的文件路径。
注意: 文件名后面有个单引号
参考链接:
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Comment


