Svn 并行任务开发的分支策略

Svn 并行任务开发的分支策略,svn,version-control,continuous-integration,branch,branching-strategy,Svn,Version Control,Continuous Integration,Branch,Branching Strategy,我们有三个运行ASP.NET应用程序版本的环境或网站(开发、登台和生产)。 我们使用SVN和持续集成(Teamcity)帮助自动将应用程序部署到每个web服务器 我们当前的开发工作流程基于任务(或工单)系统。 开发人员被赋予一项他必须完成的任务。 许多开发人员可以同时在项目上工作,但是在应用程序的不同部分上工作 我当前的解决方案使开发人员为每个任务创建单独的分支。 当用户提交主干时,将编译源代码并将其部署到我们的devweb服务器 开发者1启动一个新任务,并从主干源代码创建一个新分支,比如“任务

我们有三个运行ASP.NET应用程序版本的环境或网站(开发、登台和生产)。 我们使用SVN和持续集成(Teamcity)帮助自动将应用程序部署到每个web服务器

我们当前的开发工作流程基于任务(或工单)系统。 开发人员被赋予一项他必须完成的任务。 许多开发人员可以同时在项目上工作,但是在应用程序的不同部分上工作

我当前的解决方案使开发人员为每个任务创建单独的分支。 当用户提交主干时,将编译源代码并将其部署到我们的devweb服务器

开发者1启动一个新任务,并从主干源代码创建一个新分支,比如“任务1”

他将代码提交到分支,然后将分支与主干合并

他的更改将与其余代码一起编译并部署到devweb服务器

开发人员2启动一个新任务并从主干创建一个分支(带有开发人员1的更改)

然后他进行更改,将代码提交到“任务2”,并将分支与主干合并

代码将再次编译并部署到devweb服务器

开发人员1尚未完成,但开发人员2所做的更改已准备好部署到生产环境中

dev2然后将“task2”与“Production”分支合并

问题就在这里。Dev 1所做的部分更改正在生产中,这是一件坏事

我需要找到一个分支策略,使我们能够继续开发并逐个执行每个任务

你有什么建议吗?SVN是适合这项工作的工具吗

更新


我现在正在考虑创建一个“Dev”分支来部署到我们的Dev服务器上,并保持主干干净,并与我们的“生产”分支保持同步。这个特殊的问题似乎以这种方式消失了,因为每个开发人员都会从一个干净的主干创建他的分支,而不是经过一些开发人员修改的主干。

读完你的问题后,我有点困惑。如果开发人员1还没有完成,并且还没有准备好将他以前的修改编译并部署到生产环境中,那么将任务1合并到主干不是一个好主意


这样如何:每个开发人员都创建自己的分支“TaskI”。然后,它们可以同时在分支上工作。完成任务后,他们可以将他们的分支合并回躯干。通过这种方式,您可以确保生产服务器上的项目是完整的,而不是工作的一部分

看完你的问题后,我有点困惑。如果开发人员1还没有完成,并且还没有准备好将他以前的修改编译并部署到生产环境中,那么将任务1合并到主干不是一个好主意


这样如何:每个开发人员都创建自己的分支“TaskI”。然后,它们可以同时在分支上工作。完成任务后,他们可以将他们的分支合并回躯干。通过这种方式,您可以确保生产服务器上的项目是完整的,而不是工作的一部分

为了完成测试,每个开发人员都必须将其更改部署到开发服务器(通过主干),因为我们的应用程序主要是在经典ASP中构建的。为了完成测试,每个开发人员都必须将其更改部署到开发服务器(通过主干),因为我们的应用程序主要是在经典ASP中构建的。