Git 仓库越来越大?不要慌!试试这个简单方法,轻松秒瘦身

简介: Git 仓库越来越大?不要慌!试试这个简单方法,轻松秒瘦身

1.png

开局两张图


瘦身前:

2.png

瘦身后

3.png

前言


在进行项目开发的过程中,代码仓库的体积可能会逐渐增大,特别是在版本控制系统中保留了大量的历史提交记录和不必要的文件。为了减小仓库的体积,提高代码仓库的整体性能,我们可以通过一些工具来进行仓库瘦身操作。下面是一组图片,展示了一个示例项目在瘦身前后的效果。


下载 BFG


首先,我们需要下载BFG Repo-Cleaner工具。可以在临时文件夹中新建一个文件夹(例如D:\Temp),然后通过以下链接下载 BFG Repo-Cleaner:


https://repo1.maven.org/maven2/com/madgag/bfg/1.14.0/bfg-1.14.0.jar


克隆代码


在下载BFG之后,我们需要克隆远程Git仓库。打开文件夹 D:\Temp,右键选择 Git Bash Here,然后执行以下命令来克隆远程仓库:

git clone --mirror https://gitee.com/youlaiorg/vue3-element-admin.git

这将在当前文件夹中创建一个名为 vue3-element-admin.git 的裸仓库。

4.png查看下瘦身前的文件大小

5.png

Git 仓库瘦身


🌈参考官网:https://rtyley.github.io/bfg-repo-cleaner/


清理存储库


使用 BFG Repo-Cleaner 可以删除一些不必要的文件,以减小仓库的体积。以下是一些清理操作的示例:


  • 删除超过 1MB 的文件:
java -jar bfg-1.14.0.jar --strip-blobs-bigger-than 1M vue3-element-admin.git

6.png

删除特定文件夹(例如.vscode):

java -jar bfg-1.14.0.jar --delete-folders .vscode vue3-element-admin.git

删除特定文件(例如package-local.json):

java -jar bfg-1.14.0.jar --delete-files package-local.json vue3-element-admin.git

储存库 GC


清理操作会更新提交历史,但并不会物理删除不需要的内容。为了彻底删除不需要的数据,我们需要运行Git的垃圾收集命令:

cd vue3-element-admin.git
git reflog expire --expire=now --all && git gc --prune=now --aggressive

7.png

推送仓库


完成清理和储存库 GC 之后,将更新后的仓库推送到远程仓库:

cd vue3-element-admin.git
git push

Git 瘦身验证


重新克隆代码,然后运行以下命令来查看仓库的大小:

git count-objects -vH

8.png

结语


通过 BFG Repo-Cleaner 工具,我们成功地瘦身了 Git 仓库,减小了仓库的体积。这样不仅有助于提高代码仓库的性能,还能节省存储空间,使代码管理更加高效。在项目开发中,定期进行仓库瘦身是一个良好的实践,可以保持仓库的健康状态。


开源项目


  • 微服务商城项目


前后端分离项目

相关文章
|
9月前
|
开发工具 git
使用Git根据日期进行代码版本切换的方法
通过以上步骤,可以有效地根据日期进行Git代码版本的切换。这种方法在需要回溯历史版本进行bug修复或功能复查时特别有用。Git的灵活性和强大功能使其成为现代软件开发不可或缺的工具之一。
893 103
|
9月前
|
安全 开发工具 git
git添加远程仓库报错To add an exception for this directory解决方案-优雅草卓伊凡
git添加远程仓库报错To add an exception for this directory解决方案-优雅草卓伊凡
851 5
git添加远程仓库报错To add an exception for this directory解决方案-优雅草卓伊凡
|
10月前
|
网络安全 开发工具 git
配置本地环境以管理Git多账户SSH连接的方法
通过以上步駟设置后, 您可以轻松管理多個 Git 账户并且根据不同项目需求切换 SSH 密匙进行版本控制操作。
1235 20
|
开发工具 git
如何操作github,gitee,gitcode三个git平台建立镜像仓库机制,这样便于维护项目只需要维护一个平台仓库地址的即可-优雅草央千澈
如何操作github,gitee,gitcode三个git平台建立镜像仓库机制,这样便于维护项目只需要维护一个平台仓库地址的即可-优雅草央千澈
1721 69
如何操作github,gitee,gitcode三个git平台建立镜像仓库机制,这样便于维护项目只需要维护一个平台仓库地址的即可-优雅草央千澈
|
11月前
|
开发工具 git 开发者
Git流程控制:远程仓库操作的实用指南
通过遵循这些步骤和策略,你将能够更有效地与远程仓库进行交互,确保代码变更的透明度和项目历史的干净。同时,良好的版本控制习惯可以减少潜在的冲突,并帮助保持代码库的整洁。在日常工作中应用这些实用的Git流程控制技巧将是非常有益的。
311 0
|
12月前
|
Java 程序员 项目管理
Java 程序员不容错过的 Git Flow 全套学习资料及应用方法详解 Git Flow
本文详细介绍了Git Flow技术方案及其在Java项目中的应用实例,涵盖分支管理、版本发布与紧急修复流程,帮助开发者掌握高效的代码管理方法,提升团队协作效率。附示例操作及代码下载链接。
348 0
|
开发工具 git C++
利用Cmake展示Git内容的方法
总的来说,CMake和Git是强大的工具,通过合理的使用,可以极大地提高开发效率。
330 24
|
Shell 开发工具 git
解决git bash报错:在仓库中检测到可疑的所有权
总的来说,解决“在仓库中检测到可疑的所有权”的报错,关键在于理解和调整文件或目录的所有权。只要我们正确地设置了文件或目录的所有权,那么我们就可以避免这种问题,让Git Bash正常工作。
715 22
|
网络安全 开发工具 git
Git仓库创建与代码上传指南
本教程介绍了将本地项目推送到远程Git仓库的完整流程,包括初始化本地仓库、添加和提交文件、创建远程仓库、关联远程地址及推送代码。同时,还提供了`.gitignore`配置、分支管理等可选步骤,并针对常见问题(如认证失败、分支不匹配、大文件处理及推送冲突)给出了解决方案。适合初学者快速上手Git版本控制。
|
文字识别 网络协议 开发工具
GitHub封锁?推荐5个国产的Git仓库替代平台
近日,GitHub对中国区IP的部分限制引发了广泛关注。未登录用户被拒,已登录用户功能受限,南北网络环境差异更显“内卷”。为应对这一挑战,本文推荐了多个国产Git平台:Gitee(码云)、GitCode(CSDN旗下)、CODING(腾讯系)、CodeUP(阿里云支持)及微信代码管理工具。这些平台功能全面、稳定性强,是开发者迁移项目的理想选择。通过同步代码、配置CI/CD流水线等简单步骤,可确保项目平稳过渡。此次事件提醒我们,掌握核心技能与支持国产平台同样重要!
16824 11