建立按需模块化git体系结构

建立按需模块化git体系结构,git,Git,我有一个相当大的代码库(基本上是一个框架,下面有很多模块和布局)。目前,所有内容都在一个git归档中,而且它开始变得太大而不实用(现在存储库中有超过2.5 GB的代码,这意味着当我从git安装/克隆一个网站时,我有大约2.5 GB的代码,而实际上大约40或50 MB就可以了;乘以70个网站,你会发现这是一个巨大的磁盘空间浪费) 因此,我希望重新组织内容以使用多个git归档,我首选的方法如下: Git #1: Framework Code Git #2: Module #1 Git #3: Mod

我有一个相当大的代码库(基本上是一个框架,下面有很多模块和布局)。目前,所有内容都在一个git归档中,而且它开始变得太大而不实用(现在存储库中有超过2.5 GB的代码,这意味着当我从git安装/克隆一个网站时,我有大约2.5 GB的代码,而实际上大约40或50 MB就可以了;乘以70个网站,你会发现这是一个巨大的磁盘空间浪费)

因此,我希望重新组织内容以使用多个git归档,我首选的方法如下:

Git #1: Framework Code
Git #2: Module #1
Git #3: Module #2
....
Git #15: Layout #1
Git #16: Layout #2
.....
etc. 
最终必须使用的目录结构如下所示:

/                    -> Framework code
/module/<modName>    -> module code for each module
/layout/<layoutName> -> code for each layout
/->框架代码
/模块/->每个模块的模块代码
/布局/->每个布局的代码
有人能推荐一种实现这种beast的方法吗?这样我就有了多个git存储库,我可以根据需要将这些存储库拉入源代码库,而不会混淆git

我已经研究过使用git子模块,虽然它们似乎非常接近我想要的,但它们似乎不支持“按需”包含我需要的选择性模块/布局


谢谢你的提示/想法。

“它开始变得太大而不实用了。”你为什么这么说?补充解释了为什么事情不再实用,如果你有2.5 GB的实际代码,那就是你的问题。相反,我怀疑主要是图像、视频、PDF、档案和其他难以区分的格式。这里有很多关于使用git-lfs减少存储库大小的答案。感谢指向git的指针-lfs。然而,我仍然对创建git设置感兴趣,它允许我实现我的“按需”模块/布局构建。对此,我要说的是,git不是一个构建、安装或包依赖系统。如果你试图将其作为一个系统使用,它将不会很好地工作。框架和模块应该是单独开发的存储库nd作为软件包发布(这可能仅仅意味着内部使用),否则它们不是非常模块化的。各个部分的任何依赖项都应该通过依赖项系统拉入。