标题可能有点误导,因为我不知道该命名是什么。
我们已经创建了一个基于网络的系统,我们将其销售给我们的客户。我们做所有托管,什么不是。如果我们有一个新客户购买系统,我们从不同的客户复制一个并更改徽标等。
现在,如果我们进行了更改,让我们说我们发现了一个错误并修复它,我们必须通过所有系统并更改有bug的文件。这是我正在考虑改变的事情。
基本上我正在寻找的是一种简单的方法来保持这种有组织的,易于推向生产。但是,如果客户想要特定功能,我们也希望能够轻松地更改它,而不是使用此功能更新每个系统。
因此,每当我们对系统的核心进行更改时,我想以某种方式将固定文件推送到所有其他系统,而不是手动执行,这是一种麻烦和愚蠢的方式。< / p>
现在我认为这可以通过git,通过某种可以合并到主分支的分支构造来实现,但我不太确定这个并且找不到任何关于它的东西。
有谁知道这是什么叫做或有办法做到这一点?
答案 0 :(得分:1)
任何版本控制系统都应该可以实现,不仅仅是Git。
假设您的核心系统位于主分支中。为每个客户创建一个新分支。
如果您发现核心系统中存在错误,请将其修复为master,并将master合并到所有客户分支中。
与此同时,您可以在客户分支机构中进行独特的更改。但是,如果您在客户分支中更改了index.php
,然后您在master中修复了该文件中的错误,那么当您将master合并到客户分支时,您可能会遇到冲突,您将不得不手动解决。
并且,由于每个客户分支都是针对您的客户的,具有独特的自定义更改,因此您不需要从客户分支合并到主客户。您将始终从主人到客户分支,从不相反。
如果您只在核心系统中进行了微小的更改和错误修正,那么此设置应该可以正常工作,偶尔会发生轻微冲突。但是,如果您对核心系统进行了大量更改,您可能会遇到很多冲突,这会使设置难以维护。这一切都取决于客户分支和主分支的独特变化的重叠。如果很少或没有重叠,那么即使是大量的更改也很容易合并。
答案 1 :(得分:0)