如何使用本地Web服务器管理git分支?

如何使用本地Web服务器管理git分支?,git,apache,Git,Apache,我正在从svn迁移到git,我想知道如何管理本地开发Web服务器以及新的git系统 现在,开发人员可以有多个开发分支的签出。每个签出目录都映射到具有各种虚拟主机的Web服务器 例如,开发人员bob可能有3个不同票证的dev签出。每个签出都有自己的虚拟主机bob.dev1.localhost、bob.dev2.localhost和bob.dev3.localhost 当他们处理完一张票证后,他们会在票证上标记更改所在的主机,并将票证转移给QA。这似乎比较直截了当 现在,对于git,拥有多个签出目录

我正在从svn迁移到git,我想知道如何管理本地开发Web服务器以及新的git系统

现在,开发人员可以有多个开发分支的签出。每个签出目录都映射到具有各种虚拟主机的Web服务器

例如,开发人员bob可能有3个不同票证的dev签出。每个签出都有自己的虚拟主机bob.dev1.localhost、bob.dev2.localhost和bob.dev3.localhost

当他们处理完一张票证后,他们会在票证上标记更改所在的主机,并将票证转移给QA。这似乎比较直截了当

现在,对于git,拥有多个签出目录是没有意义的。开发人员只需在开发分支上进行分支,就可以一板一眼地工作,并且只要在需要改变方向时签出另一个分支即可

有没有办法让本地开发人员Web站点指向特定的本地git签出?例如,开发人员创建一个新分支,进行更改,然后将分支名称作为主机的一部分传递,然后每当有人访问Web服务器时,本地分支就会被签出(如果尚未签出),我们可以传递特定于票证的QA URL?例如bob.branch1.localhost、bob.branch2.localhost


如果这些都没有任何意义,我也不会感到惊讶。如果您对如何根据自己的开发工作流程执行此操作有任何建议,我很乐意听听。

我熟悉的通常团队工作流程是准备好在个人回购中发布工作,然后将其推送到只管理已发布正式提交的共享、裸回购。repo可以非常随意地在共享文件系统上在团队内部共享,也可以通过VPN进行共享。没有理由发布开发人员的wip回购,dvcs允许将vcs工具包应用于更多的实验工作。

我们一直试图避免提交未经QA批准的票据的修订。这就避免了在合并到主干中时跳过修订的必要性,以防测试后QA失败。这不是很常见的做法吗?不是用dvcs。git将dvcs等同于svn的提交称为“推送”,Bob可以完全控制从其回购中推送的内容。如果QA想要他的工作,他会在自己的回购协议中完成他的工作,将其与QA想要推送的分支同步,并且只推送QA想要看到的提交,按照QA想要的结构,推送到QA的回购协议中。Bob的回购协议中发生的事情是Bob的事情,除了他桌上的笔记之外,没有更多的理由去检查它。几个开发人员将他们的功能分支合并到一个共同的QA分支中是正常的吗?如果合并的功能分支未能通过QA,并以某种方式影响正在合并的其他功能分支的QA,该怎么办。我如何从QA分支中删除失败的合并分支?如果QA希望在单独的分支上引入修复程序,他们可以有一个QA负责人,负责通过QA测试的内容,引入的修复程序应该基于哪个,当修复程序通过QA时,他们可以合并到该分支上。这不会让你得到线性历史,但它会让你看到一个实际测试组合的可见记录。