0

我的公司有自己的CMS,我们需要使用它创建新的网站。我们使用GitHub作为VCS。 问题是有些网站需要对内部代码进行一些更改(我知道CMS不那么灵活)。分支和合并有很多变化?

我想我可以为每一个网站一个新的分支:“主人”的基础CMS的第一个网站,和“网站1”,为第二个等“网站2” ..

正如我说,我需要对每个分支进行很多更改并提交它们。 如果我有修补程序让他们都做了什么?我虽然可以切换回'主',修复它,然后合并每个'websiteX'分支。这样做有什么问题吗?如果同时我在网站的分支中编辑了相同的文件呢?

您是否建议为每个网站创建一个新的回购?有了这个选项,我将失去合并的所有好处,我将不得不手动修复每个网站。

谢谢

回答

2

你所描述的方法一般是做到这一点的最好办法。 Git做得很好,即使你来回合并了很多东西。当然,如果在masterwebsite1中更改代码中的相同部分,则从master合并到website1将会产生冲突,但这些几乎是合并的正常部分。

无论您在一个回购中使用多个分支还是多个回购都没有多大区别。毕竟,您可以从/向多个存储库提取/推送。这就是说,在我看来,一个回购中的多个分支对您的情况来说很好。

+0

如果我只需要删除/添加文件到特定的网站,但合并(例如由于错误),而不是删除/添加它们在所有网站? –

+1

@UmarJamil你可能只会删除/添加特定于网站的分支中的文件。最有可能的是,你只能从'master'合并到'websiteX'分支,而不是在各个'websiteX'分支之间合并。您还可以使用'git cherry-pick'在'websiteX'分支之间复制各个提交。通过这种方式,您可以非常细致地控制各种'websiteX'分支所共享的更改,并且您从中获取_everything_的唯一分支将是'master'。 –