通过git处理多个站点

时间:2009-06-25 15:57:24

标签: git architecture deployment file

以下是这种情况:有9个网站,它们都有相似的代码库,但存在差异:

  • A类:其中2个可被视为“社交”网站(事件,新闻,个人资料,登录)
  • B型:其中3个是您的常规网站(活动模块,新闻等)
  • C型:其中4个是小型“宣传册”型网站(只是页面和联系表格)

现在我正在考虑部署这些网站的有效方法。

如果我对其中一个网站进行了更改,有时它只会应用于单个网站,有时会同时应用于A类网站。某些更改会影响所有类型A和B站点等。

我正在研究如何使用git。如何在多个文件夹中有效部署更改?

我尝试为A,B,C创建分支,但我有一种直觉,认为这不是解决方案。例如,如果文件xxx.txt存在于分支A中,并且我切换到B,它仍然存在。

我认为我应该确定哪些文件是共享的,哪些文件不是,然后找到一种方法将它们混合在一起。

all-sites
|-- a
|-- b
|-- c
`-- static

2 个答案:

答案 0 :(得分:1)

听起来您希望将submodules与repo结构一起使用,例如:

  1. 所有网站共有的代码

  2. A类网站共有的代码,但不包含在(1)

  3. B类网站共有的代码,但不包含在(1)

  4. C类网站共有的代码,但不包含在(1)

  5. 网站1(A类)

    • 子模块指向(1)
    • 子模块指向(2)
  6. ...

答案 1 :(得分:0)

为什么不为每个项目设置子文件夹?

Global
|---GlobalA
|   |
|   SiteA1
|   |
|   SiteA2
|
|---GlobalB
|   |
|   SiteB1
etc...

这听起来更适合您尝试使用的继承方案。