首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Git repo -在repo服务器上

Git repo -在repo服务器上
EN

Stack Overflow用户
提问于 2012-05-21 10:28:09
回答 1查看 723关注 0票数 1

在一些开发人员共享的web服务器上有一个web项目,促使我为该项目设置Git。

但是我仍然对如何组织它有一些疑问。

让我们假设我在/var/www/中有我的网络项目

一些问题,一些想法,我想得到评论:

在相同的发布文件夹中init git存储库、创建/var/repo/、在这些项目副本中复制内容和init repos更好吗?

在第一种情况下,我可以将项目作为一个superuser分支,让人们在这个分支上工作.那么一旦测试过,决定合并分支?但在这种情况下,我认为人们不可能轻易地在网络服务器上测试他们的工作.他们应该需要一个当地的环境局。为测试做好准备。

如果我创建了/var/repo/domain.com,最好创建像http://git.domain.com这样的Vhosts,让开发人员测试他们交付的工作。

如果我有/var/repo/project.com并且喜欢发布提交的工作(例如将文件复制到/var/www/project.com),我应该如何执行这个复制操作?和cp -R?是否已经有工具在需要时执行此更新?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-05 16:36:34

首先,你真的不应该让你的网络项目成为存储库本身。首先,您应该设置一个存储库,让每个人都可以访问。您可以拥有一个主程序和一个开发分支,每个人都可以为web应用程序的特定部分拥有自己的分支。最好的解决方案是将存储库放在与实际系统不同的服务器上。如果您不想在本地测试东西,您应该设置一个开发/暂存服务器,这样人们就可以在那里测试。最好的过程是为此使用部署脚本,例如Capistrano。

您的过程应该是这样的:服务器A:存储库,其中包含一个主服务器和一个暂存分支+如果开发需要的话其他分支。服务器B: Live (您可以使用capistrano在这里部署主分支-如果您想成为唯一能够部署到活动系统的服务器,您不应该向服务器添加任何ssh密钥,也不应该使用其他身份验证方法)服务器C:测试环境(也可以像您的repos一样位于同一台服务器上,但我个人更喜欢这种分离)

现在,使用capistrano将实时系统与主分支连接起来,并将测试系统与dev/暂存分支连接起来。当然,人们应该可以访问暂存服务器。

它们可以使用dev/暂存分支将它们的更改推送到存储库。在此之后,他们可以使用“”将dev /暂存分支部署到dev服务器,以测试他们的工作。如果一切正常,您可以简单地提取dev分支并签出主服务器。使用“git合并暂存”将dev/暂存分支合并到主存储库中,并将其推入主存储库。之后,“帽生产部署”将在您的活动系统上安装所有的东西。

这是相当容易设置-只要为每个人做一些配置的事情,你会有一个很好的工作流程。

希望能帮上忙。

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

https://stackoverflow.com/questions/10683556

复制
相关文章

相似问题

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