Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么我的Git存储库如此之大?_Git_Github - Fatal编程技术网

为什么我的Git存储库如此之大?

为什么我的Git存储库如此之大?,git,github,Git,Github,我目前正在维护一个github项目,它大约有200次提交。我最近在虚拟机中对repo做了一个新的fork/clone,当我使用github页面上的下载链接下载项目的主分支时,我惊讶地看到本地计算机上的项目目录是168MB(o.o),并解压缩了zip,这占用了本地计算机惊人的4.4MB空间。有人能用外行的语言向我解释一下为什么fork/clone占用了168MB的空间而master branch只占用了4.4MB的空间吗 仅供参考,我相信我从未将任何大文件上传到repo,因此我不认为这是一个大文件

我目前正在维护一个github项目,它大约有200次提交。我最近在虚拟机中对repo做了一个新的fork/clone,当我使用github页面上的下载链接下载项目的主分支时,我惊讶地看到本地计算机上的项目目录是168MB(o.o),并解压缩了zip,这占用了本地计算机惊人的4.4MB空间。有人能用外行的语言向我解释一下为什么fork/clone占用了168MB的空间而master branch只占用了4.4MB的空间吗


仅供参考,我相信我从未将任何大文件上传到repo,因此我不认为这是一个大文件问题。

不同之处在于您的克隆在
.git
目录中有您的git历史记录。看看.git目录的大小(如果在linux或类似的
cd$git\u DIR;du-hs.git

您可以尝试清理.git目录

git fsck --full
git gc --prune=today --aggressive
git repack

这可能会为您节省一些空间。但一般来说,这很可能是您的本地分支和历史记录保存在repo的
.git
目录中。

项目目录包含最新版本的文件,但也包含所有分支中所有文件的所有历史记录。它可能不是为了空间而优化的,而是为了速度。检查磁盘时,您应该测量的是下载大小,而不是它在磁盘上的大小。