服务于特定的git分支

时间:2011-10-03 17:27:05

标签: git

我正在为一个由(目前)纯静态文件组成的项目设置QA环境。我希望QA能够测试我们标记为“准备好进行测试”的特定版本。

我的想法是,我希望能够从qa网站提供任何git分支,可能通过以下URI:

381dc1a.qa.somesite.com其中381dc1a引用了git uid。

我知道这样做的唯一方法是通过git show代理所有文件,考虑到QA网站上非常轻微的负载,这不是什么大问题,但我想知道是否任何人都有更好的主意。

我想要避免的是拥有200个不同的目录,每个目录都有自己的结帐。

1 个答案:

答案 0 :(得分:0)

我建议设置一个后接收挂钩,使用git archive将每个所需的修订版本存档到磁盘上的目录中,然后使用普通的网络服务器来提供这些文件。 / p>

对于未压缩的目录:

git archive SOMEREF | tar -xC /path/to/folder/revision

对于tarball:

git archive SOMEREF > /path/to/folder/revision.tar

对于zip文件:

git archive --format=zip SOMEREF > /path/to/folder/revision.zip

因为你说你不想要一堆目录,但是......

您的另一种选择是编写一个按需运行git archive的小应用程序(如果您不想在有人请求之前主动导出修订版)。