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