git进阶 | 03 -如何彻底删除git中的大文件

网友投稿 1006 2022-11-18

git进阶 | 03 -如何彻底删除git中的大文件

git进阶 | 03 -如何彻底删除git中的大文件

一、问题描述

当使用git管理了一个大文件的时候,如果将该文件从文件系统删除之后再commit到仓库,这个时候仓库中依然有该文件的记录。

这样会导致.git仓库一直比较大,所以,如果确保不会回退到之前的版本了,那么可以将该大文件彻底从提交记录中删除。

二、解决方案

(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}')"

(2)将某个大文件从提交记录中移除

git filter-branch --force --index-filter 'git rm -rf --cached --ignore-unmatch 大文件名' --prune-empty --tag-name-filter cat

(3)彻底删除

rm -rf .git/refs/original/git reflog expire --expire=now --allgit gc --prune=nowgit gc --aggressive --prune=now

(4)查看.git目录大小

du -h -d 1

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Jmeter固定定时器的使用详解
下一篇:利用Shap值进行异常值检测
相关文章

 发表评论

暂时没有评论,来抢沙发吧~