我应该如何对具有多个客户的多个变体的软件进行版本控制?
How should i version control a software that has multiple variants for multiple customers?
我使用 master 分支作为生产,dev 作为开发,作为保护分支,并使用主题分支开发代码库,但是如果新客户提出独特的想法,我是否应该启动客户特定的保护分支(master和开发人员),还是他们的全新远程项目?
编辑:更准确地说,我的意思是变体完全是个体。所以我有基本软件 A、变体 B 和变体 C,这 3 个变体只共享A 代码库,修改 B 和 C 是 100% 不同的,也有不同的版本。将来我可能需要设置更多的变体。
these 3 variants only shares the A codebase, modifies B and C are 100% distinct, have different versions as well
那么是的,他们需要自己的集成分支(您合并多个主题分支以制作新版本的分支)。
他们的合并工作流生命周期将独立于软件 A,他们需要自己的生产维护。
另一种方法是使用 GitLab Feature flags, based on Unleash,以维护一个独特的软件,能够为用户的子集打开和关闭某项功能。
然后你会维护一个独特的软件,但这似乎更复杂。
我使用 master 分支作为生产,dev 作为开发,作为保护分支,并使用主题分支开发代码库,但是如果新客户提出独特的想法,我是否应该启动客户特定的保护分支(master和开发人员),还是他们的全新远程项目?
编辑:更准确地说,我的意思是变体完全是个体。所以我有基本软件 A、变体 B 和变体 C,这 3 个变体只共享A 代码库,修改 B 和 C 是 100% 不同的,也有不同的版本。将来我可能需要设置更多的变体。
these 3 variants only shares the A codebase, modifies B and C are 100% distinct, have different versions as well
那么是的,他们需要自己的集成分支(您合并多个主题分支以制作新版本的分支)。
他们的合并工作流生命周期将独立于软件 A,他们需要自己的生产维护。
另一种方法是使用 GitLab Feature flags, based on Unleash,以维护一个独特的软件,能够为用户的子集打开和关闭某项功能。
然后你会维护一个独特的软件,但这似乎更复杂。