2012-02-15 78 views
1

我们为客户创建了一个web应用程序,并将它部署到了自己的服务器,并且它现在已经运行。我们的业务人员刚刚安排了一项协议,我们可以使用相同的应用程序,但必须位于不同的服务器上,外观和感觉必须重新标注。因此,应用程序之间的唯一区别是CSS和数据库。我负责维护这两个安装。维护两个必须相互隔离的两台不同服务器上安装的两个90%相同的代码库?

目前我有一个Git仓库中的代码部署到运行Ubuntu服务器的Linode上。我怎样才能建立网站的第二个副本,并尽可能保持一切为干?

我宁愿不必对共享的90%的代码进行错误修复,然后记住我所做的并将更改复制到第二个回购。

回答

2

你可以在其中一个站点的git中有一个分支。

或者你也可以将不同的东西分解出来,以便这些站点共享相同的代码库,然后将每个站点的“配置”分开管理(例如,在它自己的git仓库中)。

1

用脚本转换你的配置文件。将源代码管理中的配置文件保留在任何平台中都不起作用。你想快速失败。

1

这是Linux发行版或Android供应商必须处理的常见用例。

我认为你有一些提交在“改版”版本来定制这一个(一个用于CSS,图像和国际化,另一个用于配置)。

你的“干净”的代码库应该是“改造”的基础。

这是在您分叉项目并希望整合上游修改时发生的情况。

为了达到这个目的,你的clean项目是一个合适的git仓库,另外一个是通过远程引用clean的另一个项目。

当更改应用于清洁项目时,只需抓取并重新绑定其他项目。 这将应用定制提交到最新的上游版本。

请注意,您仍然可以解决冲突并且必须测试结果。这不是魔术,但它可以工作95%的时间。

相关问题