7

我刚刚接手了一家管理许多不同网站的公司的 Web 开发职位。有几个不同的网站“设计”,对于每个设计,有几个相同的东西的千篇一律的版本。它们是不同的站点,但框架非常接近,因为只有内容和一些样式发生了变化,以前的人只是将这些复制粘贴到特定的主机上。

所以我的问题是 Git 是否适合这个?我在自己的副项目中使用了一点 git,但我们正在谈论数百个站点(每个设计大约 10 个)来完成这项工作。一堆树枝会是个好方法吗?主要是我希望能够快速轻松地更新常用文件。当我们进行全局更改时,前一个人只是使​​用 perl 脚本将内容转移到“更新”站点。似乎使用 git 会更加简单和受控(版本控制)。

Subversion 是我的另一个想法,但我无权在所有服务器上安装它。大多数文件都是通过 ftp 传输的,但是经过一些改进,我可能会得到一些 ssh(我可能会使用 sshfs 的 fuse 来设置它)。

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

谢谢!

4

2 回答 2

6

git 子模块仍然是跟踪其他存储库的好方法,包括:

  • 一个用于公共文件
  • 一个用于特定文件。

这意味着您的每个网站都是一个“父”存储库,其中包括上面提到的两个子模块。

诀窍是,特别是对于代表公共文件的子模块,是在网站中将其声明为“跟随分支的最新提交”。

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

这样,每次您必须处理其中一个网站存储库时,您首先需要做的就是:

git submodule update --remote

您一定会使用最新的常用文件。

于 2013-10-13T15:10:28.577 回答
4
  1. 分开开发和部署到不同的任务中(不需要在每个生产中都有一个存储库/或只是 WC/)
  2. 任何具有良好分支合并的 SCM 都可以工作
  3. 所有站点(框架)的公共部分可以分离(或者至少你可以尝试这样做)成一个实体,链接到最终产品(使用 SCM 特定的方法 - 子模块,外部)
于 2012-10-24T20:59:43.200 回答