我有一组要管理的相关存储库。
我要存储的数据是由“单元”组成的“库”组成的“项目”。每个库存储在项目的子文件夹中,每个单元存储在库的子文件夹中。
为了能够在多个项目之间重用库和单元,我计划根据以下方案存储它们:
repositories/projects/project1
repositories/projects/project2>
repositories/projects/project...
repositories/libraries/library1
repositories/libraries/library2
repositories/libraries/library...
repositories/units/unit1
repositories/units/unit2
repositories/units/unit...
我想相对地引用项目中使用的库(比如 uses ../../libraries/library1
),并相对地引用库中的单元。
库和单元只能通过修改包含它们的项目来修改。因此,如果有必要,库和单元存储库可能是裸露的。
服务器上的存储库应该看起来相同(文件夹布局相同)。
我已经尝试过使用子模块和“读取树/子树合并”方法,但找不到在子模块案例中指定存储库的相对 URL 并在读取树方法中推送更改的方法。
我想要完成的是,如果我签出 project1,它还会获取所有必要的库和单元,如果我通过项目更改库或单元,这些更改可以轻松地再次推送到服务器。