[.net 面向对象程序设计进阶] (24) 团队开发利器(三)使用SVN多分支并行开发(下)

[.net 面向对象程序设计进阶] (24) 团队开发利器(三)使用SVN多分支并行开发(下)html

本篇导读:编程

接上篇继续介绍SVN的高级功能,即便用分支并行开发。随着需求的不断变动,新功能的增长。特别是敏捷开发中,须要有一个稳定的分支随时能够打包版本。那么咱们的项目不能把不稳定的代码放在主干上。对于新的功能有些须要进行技术试验,产生的不稳定代码不能影响项目的主干。对于中型项目,人数在20人及以上的状况下,每每须要分组开发,在代理管理中,咱们就能够很好的利用SVN的分支功能。分支开发相对稳定之后,能够很方便的合并到主干上来。本篇最后会介绍一下如何在Visual Studio 2013/2015中使用SVN插件进行代码管理。服务器

 1.创建分支svn

      了解了分支的做用,假设咱们有一个项目有不少功能,团队配置20人,主要功能有:核心业务模块、TCP/IP通信模块、射频卡/IC卡通信模块等。为了合理安排人员,咱们将人员分为三个小组,第一小组负责主干业务模块开发,固然这些模块须要两个通信模块的支持,另外两个小组各负责一个分支开发,当分支相对完善的时候合并到主干模块。工具

      基于上面的开发模式,咱们利用SVN的分支功能,下面具体介绍如何创建主干和两个分支。spa

      先把咱们主项目签入到服务器上,具体操做上篇中已经介绍了,签入后,咱们打开服务器端,看一下主项目结构,以下:.net

 

项目名称“TestObject”,下面有三个模块,主模块“Main”,还有两个模块“RfIc”、“TcpIp”插件

废话很少说,咱们建立两个分支分别名为  TestObject_Branch_1  和  TestObject_Branch_2设计

具体操做以下,在客户端机器主项目 目录上右击,点击 TortoiseSVN ,点击 “分支/标记”3d

在打开的分支窗口中

输入分支名称,路径为根目录,在下面目标URL,能够看到 新建的分支的完整路径,如上图,点肯定

提示复制完成,咱们第一个分支建立完成了,分支开发组的同窗,须要使用分支路径打开项目。

一样的方法,咱们再建立第2个分支 TestObject_Branch_2,这时候项目文件夹中仍然只有主干部分,咱们想看到其余分支,能够在项目文件夹中,右击,SVN更新

 能够看到 两个分支都更新到 本地了

 2.分支合并到主干

不一样的项目组成员能够经过分支进行开发,版本相对稳定的时候,能够随时合并到主干,下面介绍一下如何合并到 主干

在此以前,咱们先对两个分支及主干进行改动,分支开发,确定会有不少地方产生差别。

咱们先把主干项目的文件 \TestObject\Mian\index.txt进行以下改动

 

而后,再在主干下增长一个文件 second.txt

 

SVN提交,主干项目

而后,咱们分别在两个分支上改动 \TestObject_Branch_1\Mian\index.txt  和  \TestObject_Branch_2\Mian\index.txt 文件 ,

 

而且在两个分支分别创建两个新文件 ,以下

分别提交之后。主干和两个分支,不只主页文件不一样,而且分支内的文件也不一样

咱们能够在服务端查看三个项目的结构,以下:

通过一段时间开发后,若是两个分支相对稳定,如何合并到主干呢?

注意:合并前,先更新三个项目到相到 稳定 待合并版本

如上图,在主干项目右击,TortoiseSVN,点 合并

按上图选择,点下一步

 

上面的URL是主干URL,下面是分支URL,咱们有两个分支,重复一次合并,便可

两个分支合并完成后,咱们再看一下主干目录下的变化

 

打开变动的文件 index.txt

咱们看到,这里变动为最后一个合并的分支2的部分变动,刚才有合并分支2的时候,若是代码有冲突,会有一个提示,我选择的是 解决冲突,那么就替换掉了,若是选择不解决,能够保留主干上的更改。

具体要看冲突代码而定,即便咱们手抖点错了,也能够经过上篇文章中提到的恢复功能,进行版本回退。

3.主干合并到分支

在项目推动过程当中,若是分支代码须要主干部分的变动,咱们能够经过主干合并到分支

咱们先在主干上创建一个新文件fast.txt

提交主干,更改。

用一样的方式在分支上右击,打开 合并 窗口

注意:此次须要在要更新的分支上打开合并

合并窗口以下

和上次不一样的是,主干 --》 分支,咱们须要先选分支URL,下面选主干URL

完成后,咱们看一下 分支1的目录

如上图,咱们看到 ,分支1上合并过来了主干的文件 fast.txt.同时也将主干的差别文件也复制过来了

用一样的方法,能够将主干也更新到 分支2,再也不赘述。

至此,SVN的分支并行开发就介绍完了,是否是很是方便?

下面咱们介绍一下如何在Visual Studio 2013/2015 中使用 SVN,其余版本的 VS也适用

4. Visual Studio 2013/2015 中 SVN 安装

这里接上篇文章,若是直接跳到这里看的同窗,能够看一下上篇,URL:http://www.cnblogs.com/yubinfeng/p/5177994.html

前提是咱们已经安装了VS 2015/2013 

咱们找到上篇中下载的SVN for VS插件安装包,以下

 

双击安装(VisualSvn暂时没有中文版本,不过咱们经过上面的介绍,应该已经很熟悉了,它的使用和前篇中介绍的SVN客户端基本同样,只不过,使用环境不一样,一个是资源管理器,一个在VS中而已)

 

下一步,赞成,下一步

这步,能够看到 ,VisualSvn,会检测你系统中已经安装的VS版本,能选的全选中,下一步,完成安装

完成安装后,咱们打开Visual Studio 2015(我以2015为例介绍,其余版本VS相似)

能够看到 ,Visual Studio 2015 中多了一个菜单VisualSVN,如上图,说明咱们SVN for Vs插件已经安装成功

下面,我介绍一下如何在Visual Studio 2015中使用SVN 

5. Visual Studio 2013/2015 中使用 SVN 开发

 打开VS 2015 在工具-选项中,设置一下你所要使用的源代码管理器

打开选项窗口

找到源代码管理 -》 插件选择  ,在当前源代码管理插件中,选择 “VisualSVN”,肯定

接下来,咱们要作的就是 打开已有的SVN服务端的项目或将现有工程加入到SVN服务器

如上图,咱们事先没有VS工程,这里我选择 “Add Solution to Subversion...”将当前工程签入到SVN服务器

这里选择一下 将要签入的工程路径,若是当前打开工程,则默认当前工程路径

下一步后,如上图,这里有两个选基, 一是新建一个版本库,另外一个是使用已有的版本库。通常状况下,开发电脑和SVN服务器并非同一台机器,咱们选择已有的版本库,若是没有建立,能够先在SVN服务器上建立版本库后,再在这里选择。点下一步

这里输入,咱们已经在SVN服务器上建立好的版本库URL,下一步

提示会将如今的工程导入到 SVN服务器指定的版本库,点 导入 ,完成本地工程签入

这时,咱们能够看到 解决方案中的文件前面多了一个 小圆点 表示当前项目已经受到版本控制

咱们去SVN服务器上看,DataBase版本库,并无文件,不要急,咱们在VS资源管理器中,右击工程,点 Update

 提示,工程文件已签入SVN服务器

此时,第一个版本1已经正式更新到 SVN服务器上了,咱们去SVN服务器上看看

没有任何问题。

咱们在VS中打开一个文件更改

能够看到 在资源管理器中,文件 前面的绿色 点变成了黄色,表示此文件被更改了。

关于状态图标,咱们能够在VS的VisualSVN的选项中,打开,来更改图标样式,这点和Tortoisesvn差很少,只不过,状态只有三种

在VS用使用SVN和在WINDOWS中使用tortoisesvn客户端基本差很少,咱们在VS文件管理器中,右击

能够看到 ,菜单中都是咱们熟悉的。显示差别,更新,提示,日志,锁定,合并,分支,恢复版本等等,这些咱们在前篇 和本篇 中都一一介绍过了,这里再也不赘述了。。

至此,SVN的服务器配置,客户端使用,VS中的使用所有介绍完了。

哎马,好累 ~~~吃个苹果压压惊~

6. 本节要点

本节主要介绍了SVN的高级功能 利用分支并行开发,SVN在VS中的安装及使用,SVN的介绍就在此终结了,他的确是一款轻量级的,功能强大的版本控制系统,使用人数不可胜数。其实只学会使用并不难,重要的是要利用好,若是在使用过程当中

不讲究项目的管理方法,任何控制工具都是失控的。SVN也同样,如何分支,什么时候合并,都须要对项目的业务有必定的理解。下面要开启Git之旅了,但愿你们支持一下。最后祝你们新年快乐,项目一路顺风。

==============================================================================================

返回目录

<若是对你有帮助,记得点一下推荐哦,若有有不明白或错误之处,请多交流>

<对本系列文章阅读有困难的朋友,请先看《.net 面向对象编程基础》>

<转载声明:技术须要共享精神,欢迎转载本博客中的文章,但请注明版权及URL>

.NET 技术交流群:467189533 .NET 程序设计

==============================================================================================

相关文章
相关标签/搜索