Git 分支和子域

Git 分支和子域

嗯,这是我几天前想到的一个想法,并且我已经知道该如何去做(以及是否可行)。

我的想法是,当你使用不同的地址访问网站时,显示不同的分支。例如:

  • mywebsite.com 将使用 master 分支

  • dev.mywebsite.com 将使用另一个

所以,这就是了。不知道这是否有可能,但谁知道呢 :)

答案1

是的,可以这样做。

您需要配置 Apache,将每个域指向存储库中的相应子目录。您可以使用--shared以下选项git-clone以避免重复备份文件。请确保将 Apache 配置为排除对以 开头的任何路径的访问.git

您可以使用脚本git up命令从存储库中提取数据。您还可以使用原子目录移动和脚本git-archive会增加更多开销,但会“清理”目录以使备份文件远离您的服务器。

答案2

Git 存储库本身不能用作网站文件的来源。您需要查看将文件从分支复制到您的工作树。然后这些工作树文件可以充当 Web 内容。

这里的主要问题是你实际上无法将文件从一个 git 存储库检出到两个不同的工作树(然后将其绑定到你的 apache 子域)。

但是您可以为两个子域创建另外两个存储库。然后,您可以在主存储库中使用 git hooks 将提交发布到两个“部署存储库”,然后从不同的分支签出其中的文件。

您可以在以下位置找到示例以及可视化类似设置的绝佳图表http://www.dejaaugustine.com/2011/05/leveraging-git-as-a-full-fledged-web-development-tool/

相关内容