SVN分支使用教程

编程教程 > Softwares (10827) 2025-01-27 10:21:18

一.SVN分支使用需求以及解决办法


需求:

本地代码需要开发新功能,但是线上版本出现bug需要及时解决。

解决办法:

svn代码主版本与线上保持一致,标记一个新的开发分支进行开发新功能,出现BUG在主版本上修改后提交至线上,并将主版本修改的内容更新到开发版本。

svn操作流程:
导出trunk版本,创建DEV分支版本;
开发导出DEV 版本开发;
修复BUG时候导出trunk版本修复BUG;
trunk版本修复BUG完毕后提交至SVN保证trunk代码与线上一致;
DEV版本将trunk修复的内容通过同一颗树的方式更新合并过来;
DEV版本新功能开发完毕后,trunk版本通过不同树合并方式将DEV版本开发的内容合并过来;
trunk版本打包上线新功能,同时也保证了trunk与线上版本一致;

思路流程图思路图

二.SVN具体的操作流程

2.1.创建一个demo演示项目,svn结构如下

svn项目版本结构图
svn项目版本结构图



如上图所示,demo项目有几个子目录,分别是主版本/分支版本/稳定(标记)版本

2.2.导出trunk版本,创建DEV分支版本

首先从svn导出主版本,如下图所示:

svn导出主版本
svn导出主版本


 

svn导出主版本
svn导出主版本



创建一个DEV开发分支版本,创建流程如下图所示:

创建一个DEV开发分支版本
创建一个DEV开发分支版本


选择创建分支/标记

选择创建分支/标记
选择创建分支/标记


创建dev分支

创建dev分支
创建dev分支


创建完成

2.3.导出dev版本
 

导出dev版本
导出dev版本:1

 

导出dev版本:2
导出dev版本:2



2.4.模拟线上(trunk)版本修改BUG
demo_trunk项目目录下新增一个文本,内容随意

demo_trunk项目目录下新增一个文本
demo_trunk项目目录下新增一个文本


模拟修复bug并上传至svn

修复bug并上传至svn
修复bug并上传至svn


操作完成

2.5 模拟蒋线上版本修复的内容更新至dev开发版

首先鼠标选中开发版本,选择合并,如下图所示:

鼠标选中开发版本,选择合并
鼠标选中开发版本,选择合并


选择合并的类型为:一个版本范围 

选择合并的类型为:一个版本范围 
选择合并的类型为:一个版本范围 


注意选择合并源为trunk版本路径

选择合并源为trunk版本路径
选择合并源为trunk版本路径

注意:一般情况下上方需要指定具体的版本号码

合并之前也可以点合并测试。可以预判某些冲突,下面是直接合并的结果:
执行合并
从上图可以看到我们的dev版本从trunk版本中合并过来了bugfix.txt内容。

合并过来后可以先蒋合并的内容提交至dev版本

合并过来后可以先蒋合并的内容提交至dev版本
合并过来后可以先蒋合并的内容提交至dev版本



2.6.模拟新功能开发完毕同步至主线trunk版本

首先将新开发的功能提交至dev版本库
新开发的功能提交至dev版本库
新开发的功能提交至dev版本库

切换到demo_trunk版本,进行版本合并
合并类型为:两个不同版本的树
注意这里选择合并类型为:两个不同版本的树。然后下一步:
注意合并路径
注意起始是trunk版本,终止是dev版本。下一步准备合并:

测试合并
测试合并



 

执行合并
执行合并


trunk版本将合并的分支版本内容提交至svn
trunk版本将合并的分支版本内容提交至svn

至此我们就完成了一轮的新功能开发版本控制。


评论
User Image
提示:请评论与当前内容相关的回复,广告、推广或无关内容将被删除。

相关文章
一.SVN分支使用需求以及解决办法需求:本地代码需要开发新功能,但是线上版本出现bug需要及时解决
1.安装svn#yum -y install svn2.创建SVN仓库存放路径$mkdir svn_java3.创建maven仓库$svnadmin creat
SVN 分支/主干版本合并以下展示为主干修改内容合并到分支首先需要的是将分支版本更新到本地,然后在本地的分支版本选择合并(以下为TortoiseSVN 工具合并界面)上个关键性截图先:​这里只讲...
Java编程中,svn提交代码报错svn: E165001: Commit blocked by pre-commit hook (exit code 1) with output:解决方法
Windows系统自身是没带有界面的文件hash计算插件的。这里将推荐一款Windows适用的开源文件hash计算工具,该工具支持格式:MD5/SHA-1/SHA-256/SHA-512等格式。
Linux后台下载工具(器)transmission 类似迅雷使用详解,transmission 是一款支持绝大多数Linux系统的下载工具,采用web进行管理。可以通过web添加bt下载文件下...
Ubuntu/linux通过nvm工具安装指定版本/多个版本切换nodejs由于某些原因需要安装低版本的nodejs,官方源直接安装基本都是某个大版本下的最新小版本,然不满足需求。
Apache lucene 与Java jdk版本对应关系表参考:Apache Lucene版本JDK版本备注
jquery插件Viewer.js是一个强大的图片查看工具,Viewer也提供了一个纯js版本的工具,图片查看,Viewer.js,Viewer
nvm工具下载nvm gitub 地址:Releases · coreybutler/nvm-windows下载页面:Release v1.1.12 · cor
问题描述:Edge 开发工具栏打不开由于不清楚原因导致Edge浏览器按下F12会导致浏览器页面非常小,而且看不见开发工具界面(无论是浏览器内部还是外部弹窗都没有
本文主要讲解rocketmq的使用。并且这里的rocketmq已经是由阿里移交至apache基金的版本。也就是4.x版本。在本文编写的时候,apache还未提供编译好的rocketmq下载。只能...
Map与Java bean之间的转换工具类,用于java.util.Map与普通javabean直接的相互转换,Java编程
docker与docker-compose配置文件版本对应关系Compose file version 3 reference  Compose file formatDocker Engine...
Java编程软件有哪些?常用Java编程软件下载、安装和使用说明