使用SVN进行版本管理时,一般的,我们的所有的开发都是基于trunk进行开发,当一个版本开发告一段落,经验证测试发布上线后,代码处于冻结状态,基于当前冻结的代码库,打一个tag进行管理,与发布的生产环境进行对应。

当新的功能点的开发任务开始,继续在trunk进行开发,此时,如果发现了生产环境问题,急迫需要修复,这时候就需要在对应当前生产的代码分支上修改。做法是:基于 当前生产对应的tag,做相应的分支(branch)进行开发。

当新的功能开发完毕后,在发布之前,需要将之前分支上的修改合并到主干上,本经验详细描述使用IntelliJ IDEA 2016.1对SVN的分支进行合并的过程,如图所示。

工具/原料

  • windows10电脑
  • 安装IntelliJ IDEA 2016.1

方法/步骤

  1. 将项目切换到主干上,并把代码更新到最新,保证本地与SVN主干,完全一致。然后在IDEA的上方菜单中,依次选择VCS --> Integrate Project...如图所示。也可以在项目上点右键,在弹出的菜单中选择Subversion -> Integrate Directory...,

  2. 在Integrate Project界面,在Source 1中选择主干的SVN地址,并选择当时分支分支时的版本号,本例是4909;在Source2中选择分支的地址,并在版本号处选择HEAD,表示把分支最新代码合并。然后在Try merge, but make no changes选项中打勾,在Depth中选择working copy。这样的配置是将分支最新代码与主干分出分支时的代码进行尝试比较。最后点“OK”,开始尝试合并,在下方会显示合并的结果,如图所示,检查合并结果是否正常正确。

  3. 当确认尝试合并无问题后,再次重复上述合并步骤的界面,但在Try merge, but make no changes选项中取消打勾,然后点击“OK”,开始合并。

  4. 当合并代码过程中出现文件冲突时,会弹出一个冲突列表。此时需要对冲突的文件进行一个个合并。选择一个冲突的文件,单击“Merge...”,在弹出的合并窗口中,会展示三个文件,左边是本地代码,中间是合并后的代码,右边是分支上的代码。IDEA已经将冲突的代码块标志出来,你只需要将左边和右边的代码往中间合并,然后查看中间的代码是否正确,若不正确,直接修改正确,最后点击下方的“Apply”,完成该文件的合并。

  5. 合并动作完成后,在下方工具窗口“Version Control”--> Local Changes 标签页看到合并后的本地代码变更,可以选择其中的某个文件,然后按快捷键Ctrl+D或点左侧工具图标,查看文件的改动情况,在弹出的窗口左侧为合并之前的代码,右侧是合并之后的代码。

  6. 在确认修改的文件无误后,在“Version Control”--> Local Changes 标签页,在文件根文件夹“Default"上,单击右键,在弹出的菜单中,选择"Commit Changes"提交代码,在弹出的确认窗口中,会再次显示所有要提交的文件,会在文件复选项上打勾,在下方的Commit Message中填写上本次提交内容的描述信息。最后点击”Commit“,提交代码到SVN,如图所示。至此合并分到主干完成。

    END

注意事项

  • 在合并之前一定要保证本地代码与SVN主干完全一致
  • 提交之前确认修改是否正确并填写提交说明

使用idea把Svn分支合并到主干上相关推荐

  1. svn分支合并到主干可能出现异常信息

    svn分支合并到主干时遇到的问题汇总: 一.在主干上右键Team -->合并(merge ) 二.提供选项:Merge Input     Merge a range of revisions ...

  2. eclipse中SVN分支合并到主干(记录)

    2019独角兽企业重金招聘Python工程师标准>>> eclipse中SVN分支合并到主干(记录) 一.从分支合并到主干 被操作对象: 主干From : 主干的 打出分支时的版本( ...

  3. smartSVN 分支合并到主干上,iOS 编译时链接错误

    项目中需要将分支与主干进行合并,通常都是将分支合并到主干上,但是这次是将主干上的内容合并到分支上.查询到以下博文,不知为何,该博文被封了,只好用快照复制下来,方便以后查阅. 1.创建分支的意义 创建分 ...

  4. 图文:eclipse中SVN分支合并到主干

    在项目开发中,需要添加一些新的功能,但是又不想影响到其他开发人员的项目进度,所以决定使用SVN分支进行开发,分支开发完毕后再合并到主干.本文介绍如何在eclipse中合并分支到主干. (http:// ...

  5. (转) 对svn分支合并类型和深度的理解

    合并的工作是把主干或者分支上合并范围内的所有改动列出,并对比当前工作副本的内容,由合并者手工修改冲突,然后提交到服务器的相应目录里.如果当前工作副本是主干,则合并的范围是分支上的改动,如果工作副本是分 ...

  6. smartSVN 分支合并到主干

    项目中需要将分支与主干进行合并,通常都是将分支合并到主干上,但是这次是将主干上的内容合并到分支上.查询到以下博文,不知为何,该博文被封了,只好用快照复制下来,方便以后查阅. 1.创建分支的意义 创建分 ...

  7. svn打分支与分支合并回主干

    从当前主线copy一份和主线一样的代码仓,在不影响主线功能的前提下,开发新功能.Copy出来的新代码仓即为分支Branch,原代码仓即为主线Trunk.新功能开发完后,需再手动由分支合并(merge) ...

  8. svn主干开辟分支、分支合并到主干

    从主干拉出分支: 1,右键本地svn主干项目,先从主干拉去一个分支 2,指定分支在svn上的路径 3,此时可以将分支checkOut到本地,在分支上进行新版本的开发 把分支合并到主干: 1,当新功能开 ...

  9. SVN:将分支合并到主干

    环境:1.该例子在eclipse Mars上的SVN插件上进行操作: 1.在主干项目上:右击--Team--合并. 2.根据提示选择第一种合并方式,并且将最下面的复选框的对勾去掉. 详解Merge i ...

  10. SVN分支/合并原理及最佳实践

    #SVN分支/合并原理及最佳实践 SVN是一种常用的版本控制工具,一种典型的项目代码实践方式是: 存在一个代码基线(Base Line)或称主干,不同的模块使用各自的分支进行功能开发,在开发完毕后合并 ...

最新文章

  1. Mysql错误代码大全
  2. ElementUI数据联动计算并实现数据校验
  3. php data 算出差几天,出差天数一般怎么算。。。
  4. python网页保存为图片_使用Python保存网页上的图片或者保存页面为截图
  5. 为什么说边缘计算的发展比5G更重要?
  6. Python函数定义变量报错:local variable ‘a‘ referenced before assignment
  7. ASP.NET AJAX (Atlas) 拖放(Drag Drop)功能6种实现方法总结
  8. HTML5中的自定义属性总结
  9. grub引导项修复详解_修复grub2双系统引导及顺序
  10. pythoncsv数据类型_pandas读取CSV文件时查看修改各列的数据类型格式
  11. Unity3D 游戏开发构架篇 ——输入控制
  12. 283、移动零(python)
  13. Android SwipeRefreshLayout官方下拉刷新控件介绍(与知乎Android客户端下拉刷新一样!!)
  14. Python os.symlink创建软链接
  15. Android Camera简单整理(一)-Camera Android架构(基于Q)
  16. java公路车为什么便宜_JAVA公路车真的很垃圾吗?
  17. 服务器 系统 ghost,3.5.2 在服务器上用Ghost恢复系统包(1)
  18. ECharts常用图例
  19. Android fota简析
  20. ubuntu解决“系统的网络服务与此版本的网络管理器不兼容“问题

热门文章

  1. 简单数独的DFS求解
  2. grub4dos 制作WIN7、WINPE2003、Ubuntu、dos工具箱多启动U盘 (不量产)
  3. OpenCore黑苹果引导配置说明-基于OpenCore-0.7.1-07-06正式版
  4. 赠书 | 原动力——改变未来世界的5大核心力量
  5. Firefox扩展推荐
  6. 你是否了解新媒体,新媒体简介
  7. java怎么销毁session_【Java】问题:Session的销毁方式到底有哪些?
  8. 软件架构领域集大成者——《架构之美》读书笔记
  9. NOD32企业内部更新服务器搭建
  10. H.264/AVC简介