Php 如何将SVN中的分支和主干与dev服务器一起使用?

Php 如何将SVN中的分支和主干与dev服务器一起使用?,php,svn,netbeans,tortoisesvn,Php,Svn,Netbeans,Tortoisesvn,我使用PHP和NetBeans进行开发。这些修改由NetBeans直接上传到我机器上的虚拟LAMP dev服务器 我想介绍一些发展情况 问题是只有主干被发送到服务器 我使用经典结构: {svnroot}/trunk {svnroot}/branches {svnroot}/tags 我如何测试分支,而不进行疯狂的分支/主干交换,以避免所有可能的冲突 是否有具有htaccess配置的解决方案? 我应该以不同的方式使用SVN吗? 我应该以不同的方式使用NetBeans吗? 大多数SVN设置都

我使用PHP和NetBeans进行开发。这些修改由NetBeans直接上传到我机器上的虚拟LAMP dev服务器

我想介绍一些发展情况

问题是只有主干被发送到服务器

我使用经典结构:

{svnroot}/trunk 
{svnroot}/branches 
{svnroot}/tags 
我如何测试分支,而不进行疯狂的分支/主干交换,以避免所有可能的冲突

是否有具有htaccess配置的解决方案? 我应该以不同的方式使用SVN吗? 我应该以不同的方式使用NetBeans吗?
大多数SVN设置都有几个顶级目录

{svnroot}/trunk
{svnroot}/branches
{svnroot}/tags
如果缺少顶级目录,请添加它。然后使用svncopy从主干复制所有内容

如果您的web服务器拉取代码的方式使您的分支目录被拉入web服务器,那么这就是与web服务器有关的部署问题,无论是谁设置的,都需要修复它

有时,一个人通过将代码直接签入web服务器进行svn签出来制定发布计划。虽然这只适用于数量非常有限的情况,但它降低了您处理未来事件的能力,而无需迁移到更复杂的发布计划。如果您的环境倾向于这样做,您可以通过有选择地只签出trunk的子内容来继续遵循您的计划,或者您可以迁移到您的发行版的适当版本,然后执行部署计划

如果缺少主干目录,在尝试任何操作之前,您可能必须创建主干目录并将所有当前内容移动到其中。这意味着所有开发都需要从trunk子目录而不是{svnroot}目录签出。这是通过将URL扩展到末尾添加/trunk来完成的


我希望这能让您沿着正确的方向思考。

您可以在web服务器上签出所有内容,并使用符号链接或Windows服务器的连接点-请参阅www.sysinernals.com,在测试/生产环境之间切换。或者,您可以使用.htaccess更改web根目录指向的位置。正如其他人所说,拥有独立的测试/生产服务器通常是个好主意。

我有这个经典的设置主干+分支+标记。问题是只有主干被发送到网站根目录。那么,如何在devweb服务器上测试我正在处理的分支呢?我是否应该发送整个svnroot并使用apache配置来处理要测试的站点版本,如:,等等?您需要设置自己的web服务器,然后将分支签出到该web服务器。因此,所有分支、标记和主干都应该推送到web服务器?我们必须通过url重写来处理所有的子域。听起来很奇怪。。。必须存在一个更简单的解决方案…@Toto,不,所有的分支标记等都不应该推送到web服务器上。您应该签出您的特定分支,并将该特定分支部署到您的测试web服务器,您将使用该服务器验证在特定分支中完成的开发。因此,每次我在不同分支上工作时,我都必须更改Netbeans中的项目属性project properties>Sources>web Root,并且必须上载整个项目同步分支。。。如果我没有弄错…我就无法将整个SVN数据库签出到Web服务器。数据太多,子域处理太复杂,url重写与此配置冲突: