【发布时间】:2011-01-15 08:57:39
【问题描述】:
如何将已克隆的 git 存储库转换为浅存储库?
git 存储库是通过我无法控制的脚本下载的,因此我无法进行浅层克隆。
这样做的原因是为了节省磁盘空间。 (是的,我的磁盘空间真的很短缺,所以即使浅存储库不能节省太多,但还是需要的。)
我已经试过了
git repack -a -d -f -depth=1
但这实际上使存储库变大了。
【问题讨论】:
-
stackoverflow.com/questions/1398919/… 可以提供帮助。重新打包后,
git gc是什么? -
huitseeker:感谢您提出这个问题。我知道这些限制,我可以接受。我需要访问最新的提交,或者最好是几个提交,仅此而已。
-
VonC:我现在正在做 gc --aggressive。我应该从中获得一些好处,但如果可能的话,我也想丢弃我不需要的对象。
-
我刚刚遇到了progit.org/2010/03/17/replace.html,它提出了一个可能更简单的替代过程,涉及
git commit-tree。 -
git repack 中的--depth 参数与shallowing 无关:它是deltification 算法中的深度:--depth=1 表示我们希望deltification 为1,小于默认值50,因此压缩较少。
标签: git