什么是Git工作流程 - 单一产品,许多客户?

时间:2015-11-26 15:49:40

标签: git github git-workflow

我在一家产品开发公司工作。我们有一个在MEAN堆栈上开发的CMS应用程序,我们使用Jenkins CI进行自动部署。我们使用github来托管我们的代码。

我们收到了客户实施新功能的请求,这些功能应仅供我们请求客​​户使用,因为这些功能旨在定制应用程序以满足其特定要求。我们还可以自行推出新功能/修复程序,供所有客户使用。

哪种工作流程最适合上述方案,以确保开发过程和发布周期顺利。

2 个答案:

答案 0 :(得分:1)

以Github为中心的方法是为每个客户端创建一个私有存储库,它是主存储库的一个分支。客户端存储库将有两个分支:master跟踪原始存储库中的主要开发分支,project显示您正在为它们开发的代码。

在本地,您将拥有一个具有许多远程控制器的克隆存储库,每个客户端存储库一个。您将在本地为客户端1的project1分支工作,并将这些更改推送到与该客户端关联的远程。您将拥有客户端2的project2分支并推送到该客户端的远程。等等。

当您对主开发分支进行更改时,您可以将其推送到主存储库和所有客户端存储库master分支。然后,这些更改可以cherry-pick到客户端的项目分支,或者项目分支可以rebase在新更新的master分支之上。

答案 1 :(得分:0)

我认为你应该为客户提供一个分支,以及包含所有核心功能的主分支。

您推动客户分支机构满足特定要求,但是当您发布主要产品的新版本时,您可以重新命名所有客户分支机构。