我们最近决定从 TFVC 迁移到 Git,我正在尝试找到设计新 Git 架构的最佳方式。
我们的代码是由独立但紧密耦合的模块组成的,让我们看一下以下项目:
CommonLib1
CommonLib2
ApplicationA
(使用CommonLib1
)ApplicationB
(使用CommonLib1
&CommonLib2
)
尽管CommonLib1
/CommonLib2
是完全独立的,但几乎 / 的每个新功能都需要修改ApplicationA
/ 。ApplicationB
CommonLib1
CommonLib2
此外,在添加新功能时,我们希望创建一个跨越所有项目的单一分支。
据我了解,我有两个主要选择:
为每个项目创建一个 repo,并在 / 中添加/
CommonLib1
作为CommonLib2
子树。ApplicationA
ApplicationB
为所有项目创建一个 Monorepo。
对于我的情况,最好的 Git 实践是什么?