当前位置:  开发笔记 > 开发工具 > 正文

为什么我的Git存储库比工作目录大得多?

如何解决《为什么我的Git存储库比工作目录大得多?》经验,为你挑选了1个好方法。

我刚刚创建了一个新的存储库并创建了初始提交.

工作目录为2 GB.但.git目录高达15 GB.

为什么只有一次提交的git存储库几乎是工作目录的8倍?

难道我做错了什么?有没有什么办法解决这一问题?



1> Nayuki..:

大存储库大小是因为您临时添加了".hg"子目录的内容,但未使用实际初始提交中的数据.让我们一步一步地追踪发生的事情:

    git init:使用少量元数据创建".git"子目录.

    git add .:这将所有工作树复制到Git的索引(也称为暂存区域) - 换句话说,项目中的所有文件,包括所有".hg"目录文件.当我们说这些都被添加到索引,它意味​​着所有的文件内容被添加到"git的/对象"的对象存储库,而"git的/索引"文件中有指针的所有文件.

    git reset .hg:这从索引中删除了".hg"子目录.但是,不会删除已添加到存储中的对象,因为其他提交或索引条目可能指向它们.(Git目前不跟踪有多少引用指向一个对象.它使用跟踪垃圾收集,而不是引用计数.)

    git commit:这是您执行的最后一个命令,它将索引复制到新提交中并将其存储到存储库中.

解决您的问题:

如果从空白存储库开始并且只添加所需的文件,则可以首先避免文件膨胀,小心地排除".hg".

如果您想在事后修复问题,可以运行git gc并希望删除未使用的对象.

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有