2012-10-24 27 views
6

我刚刚接管了一家管理很多不同网站的公司的网站开发职位。有几个不同的网站“设计”,并且对于每个设计,都有一个同样的事情的几个饼干类型的版本。他们是不同的网站,但框架非常接近,因为只有内容和一些样式的变化,以前的人只是将它们粘贴到特定的主机上。多个类似的网站与GIT?或者其他一些版本控制?

所以我的问题是Git是否适合这个?我在自己的项目中使用了git,但我们正在谈论数百个网站(每个设计约10个)。一堆分支会成为一条好路吗?主要是,我想要做的就是快速轻松地更新通用文件。前一个人只是在我们进行全球变革时使用perl脚本来转移事件以“更新”网站。似乎这将是更傻的和git控制(版本控制)。

Subversion是我的另一个想法,但我没有权限在所有服务器上安装它。大多数文件都是通过ftp传输的,但是有些时候,我可能会得到一些ssh(我可能会用sshfs的保险丝来设置它)。

有什么想法?或者,如果我对这个完全错误的事情做了解,也请告诉我。我以前从来没有处理过任何这种规模(即很多网站),而且看起来很杂乱。我知道有一个更好的方法来做到这一点!

谢谢!

回答

4
  1. 单独开发并部署到不同的任务(不需要有一个仓库/或只是WC /每生产上)
  2. 具有良好的分支,合并任何SCM将工作
  3. 所有站点的公共部分(框架)可以分离(或至少可以尝试做)成一个实体,链接到最终产品(使用特定SCM的方法 - 子模块的外部)
6

git submodules仍然保持一个好办法跟踪其他回购S,其中包括:

  • 一个共同文件
  • 一个特定的文件。

这意味着您的每个网站都是包含上述两个子模块的“父级”回购协议。

诀窍是,特别是代表公用文件的子模块,是在网站上声明为“following the latest commits of a branch”。

git submodule add -b master common url/to/common/files/repo 

这样一来,每次你要对这些网站的回购工作之一时,你首先需要做的是:

git submodule update --remote 

,你一定有最新向上的工作最新的通用文件。