为毛我本地git repo的.git目录占的空间那么大

2014-01-02 11:33:20 +08:00
 zhonghua
自己折腾,玩的一个工程,代码和资源都放在一个repo下面

今天发现工程空间占据了2.4G的空间,单单.git目录就占据了1.0G的空间

目前对GIT的了解,还仅限于自己个人使用

唯一能想到的原因就是,关于二进制资源

二进制资源无法很好的DIFF,所以commit的次数变多之后,反而丢失了GIT差异存储的优势

如果真的是这个原因,那么正式跟别人合作的项目,得好好划分二进制资源和代码的结构
8729 次点击
所在节点    git
8 条回复
cloudzhou
2014-01-02 11:36:18 +08:00
git gc 看一下先
ddaii
2014-01-02 11:50:39 +08:00
git保存的不是文件的差异,而是快照,所以如果管理的大文件经常改动的话git占用的空间会非常大。
liuhui998
2014-01-02 11:53:10 +08:00
@ddaii

git gc 后,Git 会根据文件差异后来压缩
pynix
2014-01-02 18:56:11 +08:00
不要托管二进制资源,如压缩包,视频之类的。。。。。
zhonghua
2014-01-02 19:34:04 +08:00
@cloudzhou 减少了300M

@ddaii ???快照??怎么跟我以前对于GIT的认识差距好大。。。

@pynix 恩,看来二进制资源还是得SVN托管啊
ddaii
2014-01-02 21:35:52 +08:00
@zhonghua git有两种保存对象的方式,默认情况下git保存的是文件的快照。当仓库中的快照文件太多或执行 git gc 或提交到远程仓库的时候就会把相似的对象保存成另一种 Packfile 格式,这种格式保存的就是文件的差异。
zhonghua
2014-01-03 10:16:58 +08:00
@ddaii 如来原此。执行完git gc之后,.git目录还是有6-7百M,难道是硬伤?
imbahom
2014-01-03 14:34:13 +08:00
空间换时间啊

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/95345

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX