当前位置:   article > 正文

GIT 彻底删除大文件_git删除大于1g的文件

git删除大于1g的文件

原因

当git仓库中添加&删除了大文件后, 历史记录仍然有该文件, 并且影响到clone和pull的速度.

操作步骤

  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}')"
  1. 删除文件或目录的历史记录

git filter-branch --force --index-filter 'git rm -rf --cached --ignore-unmatch 文件或目录' --prune-empty --tag-name-filter cat -- --all
  1. 以下命令删除文件引用并强制推送到远程仓库

  1. rm -rf .git/refs/original/
  2. git reflog expire --expire=now --all
  3. git gc --prune=now
  4. git gc --aggressive --prune=now
  5. git push origin --tags --force
  6. git push origin --all --force

注意事项

  1. 请确保本地是最新的代码

  1. 如果有多个分支, 请确保本地都创建了分支, 并且所有分支都是最新的代码!!!!!

  1. 请确保被删除的文件不需要回滚, 不再被需要

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/465653
推荐阅读
相关标签
  

闽ICP备14008679号