SVN建立分支、代码合并以及常用操作

在项目开发的过程中,现在遇到这样一个问题:

  现在是9月份,在同一个项目中我要开发A、B两个模块,A模块是11月份上线,B模块是12月份上线,但是SVN上的trunk(主干)上的代码必须是上线的。

假设我可以在9月份完成这两个模块,但是我不能在trunk上开发完这两个模块。因为如果我在trunk上开发完成了这两个模块,等11月份A模块上线时,我怎么保证

我提交的代码只是A模块的呢?并且在我开发这个项目的同时,其他同事也在开发这个项目,这样,整个项目就会乱掉,没办法管理。当然,或许你可以将现在的项目

copy一份保存,然后……然后……或许你可以完成真个模块的开发。万一你的备份不小心不见了,那就只好重头开始代码……  崩溃……崩溃……

  于是我们可以用SVN建立分支,代码合并等,这样可以很方便的管理我们的版本开发。

SVN建立分支:

  1、建立一个项目  如bamCode

  2、选中项目,单击右键 如图

  

  3、点击   分支/标记…  如图

  

  4、点击 浏览  点击 branches  选中branches ,单击右键,新建一个文件夹,如 A模块分支,next——>finish,选中A模块分支,如图

  

  

  5、点击OK,一路next即可

分支建立好了,接下来我们需要在分支上进行开发,因此,我们需要切换到刚刚建立的分支上

  1、选中项目,单击右键,如图

  

  2、点击切换 ,如图

  

  3、点击浏览——>选中A模块分支——>点击OK——>点击OK即切换到了刚刚建立的分支上。

  此时我们需要记住现在分支上的这个版本号 ,小编的为399,最好也知道主干上的版本号,假设为315。

好了,接下来我们就可以愉快的编码了……  假设此时我们的trunk上也有同事在开发 ,别管别人的。

终于开发完了,模块需要上线了,但此时主干上的版本号为360,此时我们需要合并代码。

  1、在分支的项目上选中,单击右键——>team——>合并

  2、

  3、Perform pre-merge best practices checks 不选,点击next

  4、From:(start URL and revision of the range to merge)

    这个选择我们的分支上的项目目录结构 意思是开始是我们的分支,最终我们要的是trunk最新版,如图

  

  5、选中我们的项目,点击OK,From的版本一定要选择我们刚开始建立分支是的那个版本,小编的版本是399

  6、To的URL选择我们trunk的RUL,版本选择最新的,可以直接选择HEAD Revision,next、finish即可,这个版本就是我们最终合并后的版本。

这样做的目的是什么?

  因为此时我们的分支上的代码和主干上的代码时不同的,我们需要把主干上的代码合并到分支上,但分支我们写的代码又保存,所以我们需要把分支上的版本号选

择刚开始建立分支时的版本号,即小编的399版本,然后把主干上的版本选择最新的,这个我们合并的时候就把主干上最新的代码合并到了分支上,

  到此为止,我们分支上的代码有两部分组成:1、主干上最新的;2、自己写的

  7、现在我们只需把我们分支上的代码合并到主干上即可,这样我们主干上的代码也是最新的。

  操作类似

  此时我们要切换到主干上来操作了,在主干上选中项目,然后做合并操作,

  From:主干上的代码的URL

  To:分支上的代码的URL

  版本都选中  HEAD Revision版本即可。

到此,整个建立分支和合并代码的操作就完成了,当然SVN是一个很好的版本控制工具,还有很多其他功能。常用的功能还有:

  1、提交

  2、更新

  每次提交之前,最后都先更新

  3、与资源库同步

  ……

时间: 2024-10-13 01:55:34

SVN建立分支、代码合并以及常用操作的相关文章

SVN建立分支和合并代码

1.SVN建立分支正确SVN服务器上会有两个目录:trunk和branches.trunk目录下面代码就是所谓的主版本,而branches文件夹主要是用来放置分支版本.分支版本是依赖于主版本的,因此建立分支版本时候,必须要在trunk文件夹操作才可以的.下面是推荐的操作步骤:(1)从SVN上checkout Trunk版本下来.如果在本地机器上已有了trunk版本,需要更新一下到最新代码. (2)在本地抓下来的trunk版本的文件上,点击右键,弹出菜单,选中如下菜单项. 弹出如下对话框,按在下面

Eclipse SVN 主干-分支 代码合并

主干上建立分支:右键→team→branch/tag  填写你要建立的分支的路径名.然后一路next. 切换到自己的分支进行代码编写:右键→team→other Branch 此时主线上代码有更新,需要合并主线的代码:右键→team→merge选择Reintegrate a branch Merge From 选择主干的路径一路默认选择,finish后,SVN会自动将代码合并,并保留由冲突的代码. 合并主干代码完事后,需要将本地代码和分支代码进行同期化操作.右键→team→同期化,然后将最新的代

svn建立分支和svn代码合并的操作方法

首先说下为什么我们需要用到分支-合并.比如项目demo下有两个小组,svn下有一个trunk版.由于客户需求突然变化,导致项目需要做较大改动,此时项目组决定由小组1继续完成原来正进行到一半的工作[某个模块],小组2进行新需求的开发.那么此时,我们就可以为小组2建立一个分支,分支其实就是trunk版[主干线]的一个copy版,不过分支也是具有版本控制功能的,而且是和主干线相互独立的,当然,到最后我们可以通过[合并]功能,将分支合并到trunk上来,从而最后合并为一个项目. 下面是在eclipse下

SVN代码合并之一:分支代码合并到主干

1.现在SVN最新的代码到工作区中,然后选中该项目 -- 右键 -- Team -- 合并,进入到下个页面,如下图 2.点击Next,进入的待同步至本地(即主干)的分支对应的路径.此处可以选择某个文件夹进行合并,此时分支对应的路径为分支下该文件夹对应的路径. 3.默认Next,对应冲突文件的处理时稍后处理,点击完成. 4.冲突文件的解决方法: 1.分支的文件改动较少时,将本地合并后的冲突文件设置为已解决(方法:选中文件右键-Team-标记为已解决),并用主干最新的代码覆盖(方法:选中文件右键-T

svn打分支和合并操作

1.svn打分支 到trunk里,选择Branch/tag.... 填写分支版本路径 到branch里svn up 一下,就有1.4.0分支了 2.svn合并 到trunk里,选择Merge.. 选择第一个 Merge a rang of revisions. 两者区别: Merge a rang of revisions.:把分支中的修改合并到主干上来 .有冲突会爆出了,可以修改. Merge two different trees.   : 可以选择过去的一个主干版本与分支的某个版本进行合并

svn branch and merge(svn切换分支和合并)详解

下文的实践主要是参考了TortoiseSVN的帮助文档和Subversion的在线文档,Subversion的在线文档:http://svnbook.red-bean.com/en/1.5/svn-book.html 先说说什么是branch.按照Subversion的说法,一个branch是某个development line(通常是主线也即trunk)的一个拷贝,见下图: branch存在的意义在于,在不干扰trunk的情况下,和trunk并行开发,待开发结束后合并回trunk中,在bran

SVN教程——分支与合并

作者:zhanhailiang 日期:2014-10-17 分支的应用场景 总结一句就是方便并行开发. Subversion has commands to help you maintain parallel branches of your files and directories. It allows you to create branches by copying your data, and remembers that the copies are related to one

使用IDEA来实现分支代码合并

使用beyond comapre进行分支代码的合并是常用的方法,同时比较2个分支的代码,选择需要和入的代码后再提交即可. 如果是不能使用beyond comapre的情况下,使用IDEA的分支比较功能来实现代码的合并也很方便. 右下角有GIt比较的选项,选择需要比较的分支后即可进行文件的比较. 比较有2中结果,一种是提交的commit差异,一种是文件的差异.文件的差异用起来和beyond comapre很类似. 列出所有的差异文件 git diff branch1 branch2 branch1

idea如何在git上将分支代码合并到主干

1.首先将idea中的代码分支切换到master分支,可以看到我们在dev上提交的代码 在master上是没有的 2.如图所示,在remote branch 上选择分支,点击后面的三角图标,展开之后选择Merge into current 3.合并过程中可能会出现主干代码和自己分支代码冲突,需要手动解决冲突,合并完成之后会如图提示信息 4.此时合并完成只是在自己电脑本地,还没有提交到远程服务器,最后将合并好的代码push到远程即可大功告成 注意: 版本合并完成之后还没有提交到远程服务器,此时可以