2012-03-27 51 views
1

我们有不同的主题产品,存储在主分支这样怎样让Git的知道,在单支某些文件相互

themes/theme_one/... 
themes/theme_two/... 
etc 

每个文件夹都有自己的结构和支保存CSS和HTML文件。有时我们的一位客户想要定制主题。由于我们有各种各样的主题,通常有一种与客户需求非常相似,而且仅需要进行外观更改。所以我通常做的是创建一个分支new_customer,切换到该分支,复制选择主题(例如themes/theme_two/- > themes/custom_theme /)并修改它,应用客户需要的更改。有时候这些变化很小,有时候变化较大,但由此产生的主题依然严重地从父母继承。

什么是最有效的组织方式?假设我们已经注意到theme/theme_two /中的一些随机错误并应用修复。主题的某种方式告诉Git主题/ custom_theme /实际上就像来自themes/theme_two /的分支,并且所有的变化都应该重新应用于那里(尽管它们仍然存在于各自分支的上下文中)新客户)。

前段时间我正在读一本关于Git的书,我依稀记得有关子模块的一些东西。这是解决这个问题的经典方法吗?如果是,它将如何工作?我会做这样的事 - 为主题设置一个单独的回购(可能是每个主题的分支),然后在主产品主文件中创建主题/.../文件夹并将它们链接到各自的主题分支。然后,当我需要创建一个自定义主题时,我将从主产品的主人创建一个some_customer分支,从另一个repo的theme_two分支创建一个分支并将其作为子模块加载到new_customer分支的themes/custom_theme /中?

回答

0

我认为最好的办法是每个主题做分支,并总是从theme_two合并到custom_theme。我不知道要合并git目录层次结构的一部分,也没有办法记录这样的部分合并。

相关问题