这里的答案是我自己的问题的一部分...
我希望球队能够叉代码,瞬间就能证明它在这样一个网址:http://branch-name.devserver.com
我在apache conf中设置了vhost指令来将子域映射到文件夹:
<VirtualHost *:80>
ServerName www.devserver.com
ServerAlias *.devserver.com
VirtualDocumentRoot /var/www/devserver/%1/
</VirtualHost>
我在github或本地机器上分支代码。
然后开发服务器继续前行
cd /var/www/devserver
git clone [email protected]:/user-name/repos-name
,使其成为子域名虚拟主机的根文件夹中运行这些命令克隆回购文件夹命名分支名称的文件夹。
mv repos-name new-branch
然后回购切换由主到新的分支
cd /var/www/devserver/new-branch
git checkout new-branch
它是现在市面上http://new-branch.devserver.com
然后我推开更改分支在GitHub后 - 我拉不上开发服务器
cd /var/www/devserver/new-branch
git pull
现在 - 如果我想拉的发生au我可以设置一个CI服务器来侦听一个git集线器钩子,这会触发每个分支文件夹中的一个pull。看起来哈德森可以做到这一点。
我倒是希望能找到一个更聪明的方式做到这一点:
- 没有克隆回购多次
- 用一个命令来更新有效各分公司或钩,让我拉到只有更新的分支
- 有一个体面的文件夹结构为每个分支 - 所以我可以测试任何分支在一个特定的网址,而不必与每一次我分支代码混乱http配置
- 可能会自动创建新分支的根文件夹,使他们奇迹般地出现在开发服务器
任何进一步的想法欢迎在...
来源
2011-07-26 10:11:48
Boz
你可以直接将存储库克隆到一个新的文件夹,所以你不需要''mv''。 http://stackoverflow.com/questions/651038/how-do-you-clone-a-git-repository-into-a-specific-folder – Lg102