SVN创建分支与合并分支

  • SVN忽略target文件夹
  • SVN创建分支
  • SVN合并分支
    • merge a range of revisions
    • merge two different trees
    • 合并分支总结

SVN忽略target文件夹

鼠标右键项目 -> TortoiseSVN -> Settings

1、*号代表所有,*.idea *target 忽略.idea文件夹和target文件夹
2、注意每个过滤的文件中间要留空格

SVN创建分支

1、trunk主干新建maven工程spring-boot-demo项目并commit提交到SVN版本库

项目结构:

2、选中需要建立分支的项目spring-boot-demo,右键-->TortoiseSVN-->Branch/tag

3、To path 选择分支路径

Copy 完成!

4、查看远程库分支项目代码

5、本地branches目录拉取分支代码

SVN合并分支

合并是合并到本地的working copy,不是直接合并远程版本库,合并到本地工作目录需要自己选择是否提交到版本库。所以合并前需要将项目更新或者提交代码,否则会未提交的代码可能会丢失

1、分支添加查询用户接口代码,提交代码。

2、将分支代码合并到主干
将分支合并到主干,需要选择主干代码右键Merge,选择对应合并类型处理。
将主干合并到分支,就需要选择对应分支右键Merge,选择对应合并类型处理。


3、选择合并类型

  • merge a range of revisions: 就是将分支修改合并到主分支(理解为主干代码)上来,分支可以选择一个或者多个版本,主分支不能选择版本。
  • merge two different trees: 主分支和分支都可以选择版本,合并的时候以选择的分支为主。合并时如果有不同,会将主分支不同的删掉。from 和 to 要选择正确,from是主分支,to是分支。

merge a range of revisions

选好我们的分支版本,即spring-boot-demo1128分支,然后选择哪些版本进行合并,可以是all revisions,全部版本,也可以指定版本。

指定好版本之后下一步,这里可以选择是否比较空白等选项,然后可以先Test Merge测试下合并,如果觉得没问题那就直接点击"Merge"

合并完成

查看主分支代码、idea显示有修改未提交的代码。可以选择是否进行提交到主干代码库中

merge two different trees

1、分支spring-boot-demo1128新增保存用户方法saveUser1,并commit提交远程库。

主分支spring-boot-demo新增PersonController类,方法getPerson,并commit提交远程库。

2、右键主分支代码TortoiseSVN-->Merge,选择merge two different trees方式将分支代码合并到主分支上来,这里记得from是主分支spring-boot-demo项目,to是分支spring-boot-demo1128项目,选择好版本以后进行合并。

From含义:合并的主分支代码
To含义: 需要被合并的分支代码

3、指定好版本之后下一步,这里可以选择是否比较空白等选项,然后可以先Test Merge测试下合并,如果觉得没问题那就直接点击"Merge"

合并完成

4、查看主分支代码。分支的Application类的saveUser1方法同步到了主分支的working copy中。但是主分支的PersonController类被删除了。

这就是merge two different trees类型的合并方式,分支代码合并上来的时候会把主干上面新增的删掉,所以对这种类型我们合并的时候应该注意,这里from里的版本不应该是主干最新的版本,而应该是当时拉取分支的时候的版本,也可以理解为是分支的第一个版本,然后to是分支的最新版本,这样才会把分支最新的代码合并到working copy里,然后在同步合并将本地working copy合并到主干中。

5、按照上面的思路在试一次。主干选择Revert掉合并的分支代码,回到上一次未合并的版本。

钩选对应文件

6、重新走上面的步骤2,选择合并到的主分支代码为提交PersonController文件的上一个版本

这里选择远程版本2、6会发生代码冲突。原因是: 主分支本地库working中Application文件中已经存在getUser方法和saveUser方法,如果分支合并,等于修改了同一处地方。所以会发生代码冲突。

合并完成


7、查看主分支代码。发现只有Application类被修改,PersonController类没有被删除。可以选择是否进行提交到主干代码库中

代码也同步到主线中了,这样就实现了分支向主线合并的功能。

合并分支总结

1、哪个分支合并到哪个分支,就选择哪个分支右键分支代码TortoiseSVN-->Merge,比如A分支合并到B分支,此时B分支就是主分支,选择B分支右键分支代码TortoiseSVN-->Merge
2、使用merge a range of revisions时,URL From为被合并的分支代码。即A分支
3、使用merge two different trees时,From指定为合并的主分支代码,即B分支。To指定为需要被合并的分支代码,即A分支。

主线往分支合并也是同一个道理

SVN创建分支与合并分支相关推荐

  1. Android studio使用svn创建分支及合并分支----终极图解

    Android studio使用svn创建分支及合并分支这里面涉及的内容比较多,比较复杂,大家要仔细看. 1,创建本地svn仓库(主干与分支现在都是空的) 2,创建一个安卓项目,这大家应该都会吧[My ...

  2. idea使用svn拉取源码,创建分支,合并分支教程

    svn拉取源码,创建分支,合并分支教程 最近对svn的分支使用比较感兴趣了,花时间研究了一下,分享给大家: 此文章记录了idea使用svn的过程:包括拉取源码.建立分支.切换分支.合并分支等常用操作. ...

  3. AndroidStudio git 提交代码,创建分支,合并分支,回滚版本,拉取代码

    主要有: 提交代码,创建分支,合并分支,回滚版本,拉去代码 1 首先电脑中下载git 2 新建的项目把.git 仓库放到项目总中as 工具的右下角 会显示 Git:master 点击有一个弹框如下 然 ...

  4. idea实现svn拉分支和合并分支的教程

    今天测试了一下svn拉分支和合并分支的教程,决定分享给大家 拉分支教程: 1.选中某个你要拉分支的项目,右击 2.然后会看到这个页面 3.选择在svn上的分支路径时,需要注意如下: 4.ok,至此如果 ...

  5. git创建分支,合并分支,常用命令

    本文非原创, 来源于:点击这里 这篇文章写得非常全面,而且通俗易懂,本文详细的介绍了:git如何创建分支,如何合并分支,如何管理分支,如何解决冲突. Git 分支 几乎每一种版本控制系统都以某种形式支 ...

  6. Git创建分支以及合并分支

    Git创建分支以及合并分支 首先我们准备了一个项目 最初内容: 查看当前所在分支: git branch 说明我们只有一个分支,现在我们新建一个分支: git branch dev git branc ...

  7. svn服务器创建分支原理,svn 创建分支、合并分支、以及报错处理

    Q:为什么要分支? A:项目开发一个迭代之后,在开发一个迭代之前,一般都是需要给项目设置分支,独立保存上一个版本的代码.这样有什么好处呢?比如说:开始下一个迭代,开发到一半的时候,发现上一个版本有一个 ...

  8. git上传分支的原理_GIT分支,创建分支与合并分支的工作原理与教程

    开发一个版本,采用的发布流程: (1).从master的最新代码拉取一个开发分支,在上面进行开发 (2).在开发分支上不断地进行提交版本,期间,master也会有因为其他版本上线而不停有版本合并 (3 ...

  9. git 创建新分支,合并分支等问题

    一.背景 正常公司的开发,都需要把线上的和开发的项目分开.就比如开发APP,那么当我们发布1.0稳定版本之后,我们就应该新建个online分支,然后让线上的项目指向该分支.同时呢,我们在master分 ...

最新文章

  1. 阿里云如何将服务器添加至跳板机,如何将服务器添加至jumpsever
  2. python安装包_迈出Python学习第一步:Python开发环境的下载与安装
  3. 8个写完以后就可以让你成为顶尖开发者的有趣应用程序
  4. ios tableview分组间距
  5. 【NOIP2013模拟】粉刷匠 题解代码
  6. Mac下文件的编码及修改编码
  7. Linux 复习重点目录
  8. mysql 设置client char_mysql编码问题:show variables like “%char%”
  9. MySQL常见面试题与答案
  10. 二级C语言程序设计备考方法
  11. 腾讯掌舵者马化腾,才是移动互联网的大功臣?
  12. 英语总结系列(二十四):历经GCT的一月
  13. MTK:BMT充电模块
  14. Linux查看和修改IP地址
  15. 学一点Git--20分钟git快速上手 [Neil]
  16. 去除点击链接时出现的虚线框
  17. 计算机配件地区限制,原来电脑配件包含这么多信息,不懂可以看看!以后再也不怕被坑...
  18. 新媒体运营:23种免费获取流量的运营套路 ,你知道几种? 黎想
  19. 【删库跑路】使用Binlog日志恢复误删的MySQL数据
  20. MPU6050的dmp代码移植的过程--转

热门文章

  1. MTK客制化修改8.1系统
  2. lucene原理讲解
  3. 小米扫地机器人粉尘盒_如何清理小米扫地机器人尘盒及滤网
  4. 超详细步骤,教你一次就成功注册Gmail邮箱(同时可以用于申请谷歌广告账户)
  5. 【Python爬虫系列教程 25-100】小姐姐教大家对百度关键词收录数进行爬取,告诉你什么是有流量的关键词!
  6. NumPy 图解教程
  7. ChatGPT 的 AskYourPDF 插件所需链接如何获取?
  8. html四周环绕效果,HTML5 Canvas 圆弧动画片(绕四周运动)
  9. 怎样进行主板CMOS电池放电
  10. CMOS放电 CMOS放电的作用 CMOS放电的方法