美文网首页
git 删除大文件

git 删除大文件

作者: wenyilab | 来源:发表于2022-02-01 23:41 被阅读0次

当进行项目开发时,尤其是一些机器学习的项目,由于前期没有配置.gitignore,导致会把一些数据集上传到git上导致其他人拉取代码时会比较耗时,以下步骤是对此问题的解决:

1、查看仓库的大小

git count-objects -v

结果(size-pack为仓库大小)

count: 0
size: 0
in-pack: 120
packs: 1
size-pack: 36429
prune-packable: 0
garbage: 0
size-garbage: 0

2、找出大文件

git rev-list --objects --all | grep "$(git verify-pack -v .git/objects/pack/*.idx | sort -k 3 -n | tail -20 | awk '{print$1}')"

其中"tail -20"中的20表示条数。

3、删除大文件

git filter-branch --force --index-filter 'git rm -rf --cached --ignore-unmatch xxx.framework' --prune-empty --tag-name-filter cat -- --all

其中”xxx.framework“是上一步中列出的大文件路径。

4、push 到远程

git push origin --force --all

5、清除缓存

 rm -rf .git/refs/original/
 git reflog expire --expire=now --all
 git gc --prune=now

ok了

如果担心以后仍会出现此问题,建议配置.gitignore文件

相关文章

网友评论

      本文标题:git 删除大文件

      本文链接:https://www.haomeiwen.com/subject/fjplkrtx.html