【发布时间】:2012-10-04 17:48:09
【问题描述】:
我想设置 Git,以便我可以同时访问同一网站的不同版本。例如,“沙盒”站点、“暂存”站点和“生产”站点。
我目前在 Windows 上安装了 Git 1.7.11,并且 Git 在我的 CentOs 5.5 VPS 上运行。在本地,我有 2 个分支,“master”和“dev”。远程我有 2 个分支,“master”和“dev”。
我遵循了以下教程showing how to manage a website using Git,但现在觉得我很愚蠢。我可以将文件从本地机器提交到 dev 分支或 master 分支到远程机器,然后使用更新后挂钩将这些文件签出到我的 Apache 'htdocs' 目录中。这很好用,当我切换分支时,文件“更改”。
但是,我希望同时访问这两个版本,这样我就可以运行一个网站,而客户可以查看同一网站的暂存版本。 我该怎么做? 之后我打算使用 Git 将 staging / dev 合并到 master 中。
这是最好的方法吗?更新后挂钩中的结帐?
GIT_WORK_TREE=/htdocs/production git checkout master -f
GIT_WORK_TREE=/htdocs/staging git checkout dev -f
【问题讨论】:
-
你试过了吗?这听起来很合理
-
似乎可行,但我对此很陌生,不确定最佳实践是什么..
-
对我来说似乎是一个非常合理的想法。您已将服务器存储库设置为裸露的,对吗? (否则,如果您要更新在服务器上签出的分支,您的 git push 可能会失败。)
标签: git