使用git创建包含多个位置文件的实时网站

使用git创建包含多个位置文件的实时网站,git,version-control,web,Git,Version Control,Web,我见过很多人使用git直接为他们的网站做VC,有几次我也在考虑这样做。但是,我不知道如何执行以下操作: 假设我在一台机器上有两个网站,带有html等,位于: /var/www/html/prj_a /var/www/html/prj_b 我的cgi脚本位于: /var/www/cgi-bin/prj_a/ /var/www/cgi-bin/prj_b/ 因此,我实际上在/var/www下有两个“并行”git项目/ 我想有人已经弄明白了,但我在谷歌上找不到那么多 解决这个问题的最好办法是什

我见过很多人使用git直接为他们的网站做VC,有几次我也在考虑这样做。但是,我不知道如何执行以下操作:

假设我在一台机器上有两个网站,带有html等,位于:

  • /var/www/html/prj_a
  • /var/www/html/prj_b
我的cgi脚本位于:

  • /var/www/cgi-bin/prj_a/
  • /var/www/cgi-bin/prj_b/
因此,我实际上在/var/www下有两个“并行”git项目/ 我想有人已经弄明白了,但我在谷歌上找不到那么多

解决这个问题的最好办法是什么

我的想法是:

  • 在不同的存储库中使用保存cgi和html
  • 按如下方式保存站点:

    • 网站/a/html
    • 站点/a/cgi-bin/
    然后将这些文件夹符号链接到/var/www/{html,cgi-bin}/project下


我在一些情况下所做的是,无论出于何种原因,将项目集中在一个位置,并将不同的位置符号化,我为git创建一个单独的项目目录,然后装载--bind该目录下的位置(如符号链接,但git不可见)

在我上面的例子中,创建符号链接
/var/www/cgi-bin/prj_-a/
projects/prj_-a/cgi-bin/
可能更有意义,除非服务器配置禁止符号链接,但我将坚持这个例子

项目结构示例:

HTML code and assets
/var/www/html/prj_a  
/var/www/html/prj_b

CGI-scripts
/var/www/cgi-bin/prj_a/  
/var/www/cgi-bin/prj_b/
我在其他地方创建了一个目录:

projects/prj_a/
在该目录下装入其他目录

mkdir projects/prj_a/{html,cgi-bin}
mount --bind /var/www/cgi-bin/prj_a/ projects/prj_a/cgi-bin
mount --bind /var/www/html/prj_a/ projects/prj_a/html
现在我有了一个目录结构:

projects/
    prj_a/
        cgi-bin/ (points to /var/www/cgi-bin/prj_a/)
        html/    (points to /var/www/html/prj_a/)
现在我可以使用
projects/prj_a/
作为git存储库。Git看不到文件位于其他位置