git - 拆分 repo 协议(protocol)后,新的 repo 协议(protocol)要大很多倍

标签 git

我最近拆分了一个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/

相关文章:

node.js - 关于管理 React node_modules 的建议

git - 如何更改 GitHub for Windows 上的本地存储库名称

GITLAB SSL 证书问题 : unable to get local issuer certificate

git 版本控制文件共享

git - 如何根据每次提交的日期将两个分支 merge 为一个分支?

git - 错误 : unmappable character for encoding UTF8 after GIT merge

GIT - 致命的 : cannot use . 想法/作为排除文件

git - 如何添加新的根提交?

GitHub 的密码缓存助手错误

python-3.x - Github API 生成的带注释的标签未显示在 git describe 中