我已经开发了一个应用程序ApplicationA。它运行良好,并且受git控制。 (即,它具有一个master分支和其他几个分支)。
现在,我被要求开发另一个应用程序ApplicationB,它与第一个应用程序紧密相关,但是它将作为另一个产品发布。换句话说,尽管共享许多代码,但是ApplicationB和ApplicationA在某种程度上是独立的。 (我的意思是,ApplicationB不是ApplicationA的进一步发展)
从A开发B应该采取什么分支方法?我应该忘了master分支,创建一个ProductB分支并将其视为B的master吗? 还是我应该忘记分支,复制和粘贴代码并将其视为完全不同的应用程序?
答案 0 :(得分:1)
根据我的经验,建议不要在同一存储库中为不同的项目使用不同的分支。
如果这两个项目都共享通用代码,但也有各自应用程序专有的部分(如您的情况),则一种好的方法是将共享代码隔离在您作为submodule包含的第三个存储库中在您的AplicationA
和ApplicationB
存储库中。
更改通用代码库将在子模块的存储库中进行跟踪,其他项目可以独立引用子模块的某些版本。这两个项目都可以从通用代码中的错误修正中受益,而无需复制粘贴。