我最近拆分了一个git repo...
Project
ProjectA
ProjectB
ProjectC
...分成 3 个存储库...
ProjectA
ProjectB
ProjectC
...使用以下指南:
Detach (move) subdirectory into separate Git repository
原始存储库(.git 目录)的大小为 3.7GB。该项目包含大量 .psd 文件。
问题是其中一个新的存储库 (ProjectC) 现在是 5.9GB(.git 文件夹)。显然,发生了一些不再发生的压缩和/或差异。
我尝试使用以下方法重新打包和压缩:
git repack -a -d --depth=250 --window=250
根据在此页面上找到的信息:
http://metalinguist.wordpress.com/2007/12/06/the-woes-of-git-gc-aggressive-and-how-git-deltas-work/
repo 的大小没有改变。有没有办法让 repo 完全重新压缩和重新区分所有内容?我只是做错了什么吗?
三个原始项目没有共享任何文件,所以我怀疑能够在三个项目与一个项目之间进行差异比较是否有很大的差异增益。
我并不缺少磁盘空间,所以这在很大程度上只是一个教育练习......而且它让我抓狂。
最佳答案
好的,我要回答我自己的问题。我刚遇到这个:
git gc --aggressive --prune=1day
我在 repo 上运行 git gc --aggressive
,大小没有真正的变化,但是添加 --prune=1day
使一切变得不同。 repo 现在下降到 1.9G。
关于git - 拆分 repo 协议(protocol)后,新的 repo 协议(protocol)要大很多倍,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11553373/