首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何收缩.git文件夹

如何收缩.git文件夹
EN

Stack Overflow用户
提问于 2011-04-11 01:05:51
回答 5查看 97.1K关注 0票数 189

我目前的基数大约是。200MB。

但是我的.git文件夹有一个惊人的5 5GB (!)大小。因为我将我的工作推送到外部服务器,所以我不需要任何大的本地历史...

如何缩小.git文件夹以释放笔记本上的一些空间?是否可以删除超过30天的所有更改?

非常感谢您的帮助:)

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-04-11 01:09:54

您不应该删除超过30天的所有更改(我认为在某种程度上可以利用git,但真的不推荐这样做)。

您可以调用git gc --aggressive --prune,它将在您的存储库中执行垃圾收集并修剪旧对象。您是否有很多经常更改的二进制文件(档案、图像、可执行文件)?这通常会导致巨大的.git文件夹(请记住,git存储每个版本的快照,二进制文件压缩得很糟糕)

票数 154
EN

Stack Overflow用户

发布于 2011-04-11 01:11:11

5 5GB 200MB有点奇怪。尝试运行git gc

但是,除非您将存储库拆分成模块,否则无法减小.git目录的大小。

git存储库的每个克隆都是一个完全成熟的存储库,可以充当服务器。这是分布式版本控制的基本原则。

票数 11
EN

Stack Overflow用户

发布于 2011-04-11 03:55:10

我更多地使用git作为同步机制,而不是版本历史。因此,我对这个问题的解决方案是确保我当前的所有源代码都处于令人满意的状态,然后删除.git并重新初始化repos。磁盘空间问题已解决。:-)历史已经过去:-(我这样做是因为我的repo在一个小的USB闪存盘上。我不想也不需要我的全部历史。如果我有一个只截断历史的方法,我会使用它。

如果我有兴趣保留我的历史记录,我会将当前的存储库存档。在以后的某个时刻,我可以克隆原始存储库,复制新存储库中的所有更改(假设我没有做太多(任何)重命名或删除)。然后进行一次大提交,将新存储库中所做的所有更改表示为旧存储库中的一次提交。可以合并历史记录吗?也许如果我使用一个分支,然后删除我不需要的对象。(我对git内部的了解还不够多,不能开始那样胡闹)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5613345

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档