使用GIT的多个类似网站?还是其他一些版本控制?

时间:2012-10-24 20:39:06

标签: git svn version-control multiple-sites

我刚接管了一家管理很多不同网站的公司的网站开发职位。有几个不同的网站“设计”,每个设计,有一些饼干切割版型相同的东西。它们是不同的网站,但框架非常接近,因为只有内容和一些样式发生变化,之前的人只是将这些内容复制粘贴到特定的主机上。

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

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

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

谢谢!

2 个答案:

答案 0 :(得分:6)

git submodules仍然是跟踪其他回购的好方法,包括:

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

这意味着您的每个网站都是一个“父”仓库,其中包含上述两个子模块。

特别是对于代表公共文件的子模块,诀窍是在网站中将其声明为“following the latest commits of a branch”。

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

这样,每次你必须在其中一个网站仓库上工作时,首先需要做的就是:

git submodule update --remote

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

答案 1 :(得分:4)

  1. 分开开发并部署到不同的任务中(无需在每次制作时都有存储库/或WC /)
  2. 任何具有良好分支合并功能的SCM都可以使用
  3. 所有网站(框架)的公共部分可以分开(或者至少可以尝试将其)分成一个实体,链接到最终产品(使用SCM特定的方法 - 子模块,外部)