我公司有一个软件,我们销售给多个客户.但每个客户都有一些不同的要求(不仅仅是"将我们的徽标放在这里").所有这些核心都是相同的,但有些不需要某些模块,其他需要它们包括修改.
我想在一个git存储库中管理所有这些,所以我对它们都有相同的核心,但我不太确定如何以最好的方式做到这一点.
我读到了Git Flow,以及如何使单个项目成功实现分支,这给出了这样的分支模型:
http://nvie.com/img/git-model@2x.png
现在,我们有多个客户,因此,多release分支(release-customer1-v1.2,release-customer2-v3.8,...),但它们都建立在同一个master分支.
有没有策略来管理这种混乱?
我认为一个简单而可行的解决方案可能是为每个客户设立分支机构develop。release
编辑:以前在前面的句子中develop被称为,但我更喜欢开发更好master
develop分支中develop分支机构release您必须格外小心地进行影响共享中所有客户的更改develop以及仅影响其各自分支机构中的特定客户的更改。
您为客户 A开发功能 A,为客户 B开发功能B。
如果这些功能不共享代码,则应将它们保留在各自的develop-*分支中,例如,功能 A将在其中开发develop-customer-A,功能 B将在develop-customer-B
如果这些功能共享代码,则应在共享部分develop和特定于各自分支机构的客户的部分上开发共享部分develop-*
| 归档时间: |
|
| 查看次数: |
1471 次 |
| 最近记录: |