我有一个通用的软件产品,3个潜在的客户客户(可能更多)可能会感兴趣。对于每个客户来说,这个通用产品必须根据他们的需要进行修改/定制。具体需求。
定制需要或多或少:
数据库更改要求
核心模块&功能变化
艺术品 - 图形,徽标等。
目前我一直在使用我的功能工作流程 我的团队由5位以上的开发人员开发通用产品 所有这些都有助于通用产品库
我们目前在通用产品上的工作流程类似 这里的插图 -
http://nvie.com/posts/a-successful-git-branching-model/
现在,我想要做的是改变当前的工作流程 以下是这样的事情,以便自定义每个版本的 客户的通用产品。
我建议的新git工作流程:
假设:
有3个客户需要他们自己的特定定制版本的通用产品。
来自通用存储库的
FORK 为每个客户创建一个新的存储库 例如。
**generic_customerA** **generic_customerB**
依此类推。
- 设置用户/访问权限等。
- 用户克隆特定存储库,例如。 generic_customerA
- 用户进行更改,创建分支并提交到其存储库。
- 用户将他的分支与主
合并- 推到遥控器。
醇>
从我能看到的唯一值得担心的事情 是为每个客户创建的存储库数量 但它的价格是为了简单起见和减少存储库管理而付出的代价 开销吧?
答案 0 :(得分:1)
如果要创建单独的存储库,以便每个客户端的repo在物理上彼此分离,那么此工作流程就可以了。
然后您的中央仓库成为这些客户回购的上游,这是git中非常常见的模型 - 客户在其分支机构的工作定期从主服务器中撤出并合并更改。