git仓库中.git文件夹过大的问题

由于git仓库中存放了较大的文件,之后即使在gitignore中添加,也不会导致.git文件夹变小。

参考[1](#1) [2](#2)

通过

复制代码
du -d 1 -h

查看文件大小

使用

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

查看git缓存中较大的文件。

安装 git-filter-repo

复制代码
pip install git-filter-repo

使用

复制代码
git filter-repo --invert-paths --path 文件 --force

删除相关提交内容

如果还有不需要的内容,重复以上过程

之后可以看到

复制代码
du -d 1 -h

.git下没有太多内容了

之后使用git命令处理垃圾

bash 复制代码
rm -rf .git/refs/original/
git reflog expire --expire=now --all
git gc --prune=now

结束

注意

可能处理完找不到远程仓库,需要

git remote add 远程地址

一下


  1. # 记录删除.git记录大文件的过程 ↩︎

  2. https://blog.csdn.net/dss875914213/article/details/131500224 ↩︎

相关推荐
一点事2 小时前
git:通过令牌方式访问远程仓库
git
或非与4 小时前
windows版本git代码自动更新
git
这是个栗子4 小时前
git报错:‘git‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。
git
小生不才yz4 小时前
(二)日常工作流 - git rm 命令的使用
git
inferno4 小时前
TortoiseGit下载与安装
git
取名真是4 小时前
Git 到底是干啥的?零基础小白听完都懂了并且轻松驾驭它
git
AA陈超7 小时前
Git常用命令大全及使用指南
笔记·git·学习
无限进步_7 小时前
C语言数组元素删除算法详解:从基础实现到性能优化
c语言·开发语言·windows·git·算法·github·visual studio
松涛和鸣7 小时前
16、C 语言高级指针与结构体
linux·c语言·开发语言·数据结构·git·算法
楠语7 小时前
从指针行为理解Git中的reset操作
git