在我的办公室,我们有一个自行开发的内容管理系统。我们已经慢慢但稳定地设置了60个CMS实例。是的,我们是一家大公司;一个非政府组织。
我们的大部分办事处都以当前形式使用CMS。一些办公室定制了颜色,字体,基本上是皮肤。其他一些人构建了有时我们带入核心的新功能。我的任务是更有效地管理来源。
让我们说 - 我正在管理“核心”,我办公室“A”和办公室“B”。 Office A仅自定义其颜色,但办公室B对核心进行了一些更改(不是很多),并且它们的代码与Core不同。我想只负责“核心”。当我开发新功能时,我希望(在接受时)将这些更改与其他办公室同步。
我想过创建永远不会与主人合并的分支。但是我对师父做的改变不能去分支?我应该采取什么方法,我应该注意什么?
答案 0 :(得分:1)
这是一种可能的方法。
对于办公室分支机构的提交,你想申请到主人,只需在主人的头上挑选他们。如果你知道你在做什么,你也可以在master上重新提交一系列提交。
另一方面,合并确实合适;你会想要将master合并到办公室分支机构,但不是相反。您可以查看要应用核心更改的办公室分支,以及git merge master
。这将尝试合并,但它只会触及办公室分支;主分支不会被移动。
您可能还需要考虑提供默认的颜色列表,并允许创建新文件来覆盖这些颜色。您将在.gitignore
中列出覆盖文件名,以便永远不会将这些更改提交到Git存储库。您可以更新master中的默认值并将其合并到office分支中,但除了部署的副本之外,您永远不会看到办公室颜色覆盖。