Git仓库占用空间太大的解决方法

Git仓库占用空间太大的解决方法

    • $ git gc
    • $ git gc --aggressive
    • $ git gc --auto

Mac机的500G容量在一段时间后,快被撑满了,现在需要给Git本地库减肥,开始健身。
下面有几个针对这种情况的常见指令可以使用。

$ git gc

gc意味着垃圾回收(garbage collect),
使用git gc指令,可以将松散的文件压缩。具体流程如文档所说:“Git 会不定时地自动运行称为 “auto gc” 的命令。大部分情况下该命令什么都不处理。不过要是存在太多松散对象 (loose object, 不在 packfile 中的对象) 或 packfile,Git 会进行调用 git gc 命令。gc 指垃圾收集 (garbage collect),此命令会做很多工作:收集所有松散对象并将它们存入 packfile,合并这些 packfile 进一个大的 packfile,然后将不被任何 commit 引用并且已存在一段时间 (数月) 的对象删除。”

下面是关于他的文档:
https://git-scm.com/book/zh/v1/Git-%E5%86%85%E9%83%A8%E5%8E%9F%E7%90%86-%E7%BB%B4%E6%8A%A4%E5%8F%8A%E6%95%B0%E6%8D%AE%E6%81%A2%E5%A4%8D

$ git gc --aggressive

对本地git库进行更彻底清理和优化,这个指令花费的时间也会更长。

$ git gc --auto

这是一个设置的指令,并不会进行gc操作。如果有 7,000 个左右的松散对象或是 50 个以上的 packfile,Git 才会真正调用 gc 命令,即是这里设置了阈值,当然也可以通过修改配置中的 gc.autogc.autopacklimit 来调整这两个阈值。

参考:

[https://hiberabyss.github.io/2018/03/28/git-internal/](

你可能感兴趣的:(git)