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 ↩︎

相关推荐
无限进步_1 小时前
【C++】验证回文字符串:高效算法详解与优化
java·开发语言·c++·git·算法·github·visual studio
无限进步_4 小时前
【C++】重载、重写和重定义的区别详解
c语言·开发语言·c++·ide·windows·git·github
历程里程碑4 小时前
1 . Git本地操作:版本控制 跨平台协作 仓库核心
java·开发语言·数据结构·c++·git·gitee·github
华科大胡子5 小时前
Git + 云原生
git
johnny2335 小时前
Git拓展:GitButler、Gitnuro、JGit
git
王的宝库6 小时前
GitLab 常用 Git 命令新手指南
git·学习
马优晨7 小时前
git restore --source 提交id 和 git reset --hard 提交id 有什么区别
git·git reset·git restore·git回退的区别·git回退代码
小臭希7 小时前
Git(代码版本控制系统)
java·git·github
Unity粉末状在校生16 小时前
Git解决fatal: Could not read from remote repository.的问题
git
少年攻城狮17 小时前
Obsidian系列---【如何使用obsidian同步到git?】
git