我有一个应用(cms),其结构如下:
BASE:
/application/
/public/
themes/
default/
mobile/
这是我们所有项目的基础中央存储库。然后每个项目都有自己的皮肤:(这些皮肤基于/default/
主题)
CLONE1:
/application/
/public/
themes/
default/
mobile/
own/
...
own-theme-12/
这个应用有12个自定义主题,基于默认主题。
整个过程涉及应用程序的维护和确保所有克隆版本都与基础版本同步更新。
现在,我们将基础版本添加为远程仓库:
(/clone1/)$ git remote add base-repo /path/to/base.git
需要时,请拉取更新:
(/clone1/)$ git pull base-repo develop
当在
/application
中修改.php
文件时,一切工作正常。当我们修改BASE仓库中default
主题中的文件(例如,在reset.css
中打错字)时,问题就开始了。我们需要将这些更改应用于CLONE1/default
主题以及所有的CLONEx/own-x/
主题。当然,需要一些bash脚本来告诉它去哪里复制和提交更改,但如何在不产生合并冲突的情况下保持整个过程同步?
我们使用
git flow
。目前default
和mobile
主题尚未分别在单独的分支中。我们需要将它们放入分支中吗?我们现在还没有使用子模块。有许多方法可以组织这个工作流程,但您选择哪种最优的方法?