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

zer*_*ero 6 svn git version-control multiple-sites

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

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

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

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

谢谢!

Von*_*onC 6

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

  • 一个用于普通文件
  • 一个特定文件.

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

诀窍是,特别是对于代表公共文件的子模块,是在网站中将其声明为" 遵循分支的最新提交 ".

git submodule add -b master common url/to/common/files/repo
Run Code Online (Sandbox Code Playgroud)

这样,每次你必须在这些网站仓库之一工作时,你首先要做的就是:

git submodule update --remote
Run Code Online (Sandbox Code Playgroud)

并且您一定会使用最新的最新常用文件.


Laz*_*ger 4

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