首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Git远程维护多个可同时访问的网站版本

使用Git远程维护多个可同时访问的网站版本
EN

Stack Overflow用户
提问于 2012-10-04 17:48:09
回答 2查看 723关注 0票数 2

我想建立Git,以便我可以有不同版本的同一网站可同时访问。例如,一个“沙箱”站点,一个“分期”站点和一个“生产”站点。

我目前在Windows上安装了Git 1.7.11,在CentOS5.5VPS上运行了Git。在当地,我有两个分支,‘主人’和‘开发’。远程我有两个分支,‘主人’和‘开发’。

我遵循了下面的教程演示如何使用Git管理网站,但现在我觉得我是相当愚蠢。我可以将文件从我的本地计算机提交到开发分支或主分支到远程计算机,这些文件都是通过将更新后的钩子放到Apache 'htdocs‘目录中签出的。这很好用,当我切换分支文件“更改”时。

但是,我希望两个版本都可以同时访问,这样我就可以运行一个站点,而客户端可以检查同一站点的暂存版本。我该怎么做?之后,我计划使用Git将暂存/开发合并到master中。

这是最好的方法吗?在更新后挂钩中结帐?

代码语言:javascript
复制
GIT_WORK_TREE=/htdocs/production git checkout master -f
GIT_WORK_TREE=/htdocs/staging git checkout dev -f
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-05 07:56:55

这可能对你关于Git的问题没有什么帮助,但是我不喜欢web开发中的这种工作流,因为在我看来,有一种方式需要更多的工作,但作为交换,它更灵活、更可靠。

我只是标记一个裸露的公共存储库,所有提交都通过推送和获取(就像您正在使用的有钩子一样),但是没有任何钩子。然后,我将在远程服务器上有两个项目目录:一个用于dev,一个用于主目录;两个目录都使用克隆的、非裸的git存储库(每个目录都有一个.git文件夹)。因此,您将在web服务器上拥有1个裸存储库(或者可以位于任何服务器上)和2个非裸存储库。

在这种情况下,您可以在本地推送所有您想要的东西,您的web项目目录中的工作目录只有在您决定拉动时才会改变。如果出现与项目环境有关的错误,则可以直接对远程服务器的项目目录进行快速更改,这样做有更大的好处,您可以很容易地提交修复程序并将其推回。

使用多个远程项目目录(和urls),您可以在同一服务器上同时拥有多个项目状态。

票数 0
EN

Stack Overflow用户

发布于 2012-10-05 06:13:58

更新后钩子中的签出将有效,但您可能也需要定义GIT_DIR

请参见:

这将确保git命令知道git的位置。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12732851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档