前言
现在项目在开发的时候遇到一个问题,场景是多个用户共同使用一个项目(master)作为基准,开发自己的用户版本(customer_dev),如何寻求一个合理有效的解决方案是非常重要的。
可以预见的问题
- 如果修改了基准(master)如何将更改同步至不同用户版本(customer_dev)?
- 对于各用户版本(customer_dev)如何进行控制?
- 修改基准(master)的前提要求是什么?
目前的解决方案
第一种:一个仓库多分支
这种方案是使用一个版本控制仓库构建不同分支,从而实现对于不同用户版本的处理。
优点:
- 一个仓库即一个地址,项目管理方便
缺点:
- 分支会越来越多,如果没有一个完善的管理体系,会导致分支混乱
第二种:fork 仓库
这种方案是利用 fork 机制,所有客户版本作为子库单独控制,项目上相互独立,独立仓库开发。