gpt4 book ai didi

Git 子树与 Monorepo

转载 作者:太空狗 更新时间:2023-10-29 14:11:22 38 4
gpt4 key购买 nike

我们最近决定从 TFVC 迁移到 Git,我正在努力寻找设计新 Git 架构的最佳方法。

我们的代码由独立但紧密耦合的模块组成,让我们看看以下项目:

  • CommonLib1

  • CommonLib2

  • ApplicationA(使用 CommonLib1)

  • ApplicationB(使用 CommonLib1CommonLib2)

尽管 CommonLib1/CommonLib2 是完全独立的,但是 ApplicationA/ApplicationB 的几乎每一个新特性都需要修改CommonLib1/CommonLib2

此外,在添加新功能时,我们希望创建一个跨越所有项目的分支。

据我所知,我有两个主要选择:

  1. 为每个项目创建一个 repo,并将 CommonLib1/CommonLib2 作为子树添加到 ApplicationA/ApplicationB.

  2. 为所有项目创建一个单一的 Monorepo。

对于我的情况,最好的 Git 实践是什么?

最佳答案

由于 CommonLib1/CommonLib2ApplicationA/ApplicationB 密切相关,因此您最好使用 option2(创建单个所有项目的 Monorepo)。分支结构如下:

  • Lib1 分支:在该分支中管理/开发/更新CommonLib1。更新后,您可以将其 merge 到 appAappB 分支中。

  • Lib2 分支:在该分支中管理/开发/更新CommonLib2。当它更新时,你可以将它 merge 到 appB 分支。

  • appA 分支:管理/开发ApplicationA 项目。

  • appB 分支:管理/开发ApplicationB 项目。

关于Git 子树与 Monorepo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42472421/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com