嗯,这是我几天前想到的一个想法,并且我已经知道该如何去做(以及是否可行)。
我的想法是,当你使用不同的地址访问网站时,显示不同的分支。例如:
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/。