我们最近决定从TFVC转向Git,我正在尝试找到设计新Git架构的最佳方法。
我们的代码由独立但严密耦合的模块组成,让我们看看以下项目:
- CommonLib1 - CommonLib2 - ApplicationA(使用CommonLib1) - ApplicationB(使用CommonLib1和CommonLib2)
虽然CommonLib1/CommonLib2是完全独立的,但几乎每个针对ApplicationA/ApplicationB的新功能都需要修改CommonLib1/CommonLib2。
此外,当添加新功能时,我们希望创建一个跨越所有项目的单个分支。
据我所知,我只剩下两个主要选项:
1. 为每个项目创建一个仓库,并将CommonLib1/CommonLib2作为子树添加到ApplicationA/ApplicationB中。 2. 为所有项目创建单一的Monorepo。
对于我的情况,哪种是最佳的Git实践?
我们的代码由独立但严密耦合的模块组成,让我们看看以下项目:
- CommonLib1 - CommonLib2 - ApplicationA(使用CommonLib1) - ApplicationB(使用CommonLib1和CommonLib2)
虽然CommonLib1/CommonLib2是完全独立的,但几乎每个针对ApplicationA/ApplicationB的新功能都需要修改CommonLib1/CommonLib2。
此外,当添加新功能时,我们希望创建一个跨越所有项目的单个分支。
据我所知,我只剩下两个主要选项:
1. 为每个项目创建一个仓库,并将CommonLib1/CommonLib2作为子树添加到ApplicationA/ApplicationB中。 2. 为所有项目创建单一的Monorepo。
对于我的情况,哪种是最佳的Git实践?