我必须根据软件供应商的现有源代码设置 git 存储库以开发软件。源代码会定期更新,我正在寻找最有效的方法,我提出了 2 种工作模型,我很想听听您对哪一种(或另一种)最有效的意见情况。
总体而言,将有 3 个完全独立的团队,每个团队在各自独立的代码存储库中工作:A、B、C。
源代码存储库/团队 A 是基于供应商代码的退出位置。源代码存储库/团队 B 是基于供应商代码退出 + 第三方扩展的地方。我正在尝试设置的源代码存储库/团队 C,它应该基于 A + B 和我们自己的扩展。
每当存储库 A 发生变化时,B 团队的人都会将其拉入他们的存储库,集成并使其可供 C 团队使用。
团队 B 也可以自行发布独立版本(无需团队 A 的任何更改),他们将为团队 C 提供这些版本。
对于团队 C,我将设置存储库单独的分支:
master
TeamA
TeamB
develop
分支 TeamA 和 TeamB 将由我们(团队 C)管理 - 每当我们收到来自团队 A 和 B 的代码并将它们合并到开发中时,我们都会自行更新它们。
目标是能够理解 TeamA 和 TeamB 之间的差异(开发)(以及 TeamA 和 TeamB 之间的差异),并且最容易地将团队 A 和 B 的更改集成到开发中。
我想知道如果我设置以下结构是否有任何区别:
1)基于master制作所有分支
master
TeamA
TeamB
develop
或者,2)使分支的以下父子结构
master
TeamA
TeamB
develop
我想知道它是否有任何实际区别。
过去有没有人遇到过类似的情况,您会推荐什么方法?