清理.git文件

查找.git中的大文件

  1. cd 到工程文件
  2. 查找十个大文件并降序排序
git rev-list --objects --all | grep "$(git verify-pack -v .git/objects/pack/*.idx | sort -k 3 -n | tail -10 | awk '{print$1}')"

命令执行结果如下图:


WeChat054336bc1f02068bb7a4bb9fb717be5a.png

删除文件

git filter-branch --index-filter 'git rm --cached --ignore-unmatch sdk/GPUImage/Debug-iphoneos/GPUImage.framework/GPUImage' -- --all

如果删除命令执行错误如下:

WARNING: git-filter-branch has a glut of gotchas generating mangled history
     rewrites.  Hit Ctrl-C before proceeding to abort, then use an
     alternative filtering tool such as 'git filter-repo'
     (https://github.com/newren/git-filter-repo/) instead.  See the
     filter-branch manual page for more details; to squelch this warning,
     set FILTER_BRANCH_SQUELCH_WARNING=1.
Proceeding with filter-branch...

Cannot rewrite branches: You have unstaged changes.

这是当前分支有未提交的代码,提交完成后再执行删除代码即可。

最后清理远端

rm -Rf .git/refs/original
rm -Rf .git/logs/
git gc
git prune
git push -f
注意:通过此方法清理后会导致库文件丢失,慎重选择
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容