分支的基本概念就正如它的名字,开发的一条线独立于另一条线,如果回顾历史,可以发现两条线分享共同的历史,一个分支总是从一个备份开始的,从那里开始,发展自己独有的历史(如下图所示) 
⑴创建分支
假设目前我们版本库中的项目的布局如下图: 
如图所示,我们的项目放在了trunk(主线)目录,另外还有branch(分支)和tags(标签)目录,这样的布局是为了更清晰的区别主线、分支和标签三者的位置。
subversion对分支和标签是通过复制一份最新的版本库的快照来实现的。
开始创建分支:
在我们CheckOut的主线目录(trunk)上,右键点击然后选择“Branch/tag…” 
在弹出的窗口中,将To Url 指向branch目录并输入分支的具体目录名,这里是mybranch1.0,我们即将创建的分支便存放于此处,点击OK。 
Update一下本地的branch目录,你就可以看到你刚刚创建的分支“mybranch1.0”,这样一来我们的分支就创建完成了。 
创建分支的最大的目的就是跟主线进行并行开发的时候不影响主线的开发。
因为你在分支上所做的提交都只存于分支上,主线上的Update是看不到分支的修改的。如下图所示,trunk只能看到r344的版本,并看不到r343的版本。 
(什么时候应该使用分支呢?例如你接到了一个任务,完成这个任务需要三四个人的合作,你们之间需要共享资源,那们就可以创建一个专为这次任务的分支,参与此次任务的人员则在分支上做开发,等完成之后再合并到主线上,才不会出现将实现了一半的不完成功能也提交到主线上,影响主线的正常工作。又或者自己需要一个较长的开发周期来完成任务,这么长的时间内如果一直没有将资源进行提交,万一丢失了就前功尽弃了。当然分支不是只用于此类情况,还有其它很多种情况也能使用分支来达到目的。)
使用分支需要注意,由于长期的独立开发,可能会在合并回主线时出现较多的冲突。所以在支线上开发间期如果发现主干有更新,而且这个更新有可能将来跟你产生冲突,那你可以先将主线的内容合并到分支上。已免等到做了大量修改再来更新。(其实此过程跟分支合并到主线上是一样的操作,只是目的地不同。)
例如我们在主线上的版本为3,我们如何将此版本的信息合并到分支上呢? 
在分支的根目录上右键点击,选择“TortoiseSVNMerge…”。 
在这里我们必需先弄明白一个合并背后的关健概念
合并的过程中发生的所有事:首先两个版本库树的比较,然后将区别应用到本地拷贝.
这个命令是包括三个参数的:
1. 初始的版本树 2.最终的版本树 3一个接收区别的工作拷贝。
弄明白这些概念之后我们继续往下操作。
在弹出的窗口中,选择主线目录和其版本号(初始的版本树),再选择主线目录和最新的版本号(最终的版本树),这里也可以是某一个版本号但应该比初始的版本树的版本号要高,接收区默认为你右键所指的目录,这里是mybranch1.0。
在合并之前我们可以通过点击“Unified diff”,查看两版本树之间所有文件的内容的变化,“diff”显示出有发生变化的文件列表,“dry run”能显示真正合并时的状态信息,但并没有做任何的合并操作。
我们点击“Merge”。 
在点击“Merge”,合并后的文件(即对分支上的文件补上了主线上修改的内容),如无冲突则可以在分支上像其它文件一样使用了,如果合并后的内容不满意,可以通过撤销来取消这次的合并操作,前提是未对合并后的文件做提交操作。
分支合并到主线跟从主线上合并内容到分支上类似
不同的是
1、开始的版本库是分支创建的版本
2、结束的版本库是完成所以开发工作之后的版本
3、应用的目的是主线目录
关于转换工作拷贝、标签(标签在Subversion中跟分支是相同原理的,一个不去做任何的修改的分支就是版本库某一时刻的一个快照,相当于为某一个版本做了一个标签)
相关推荐
SVN基础操作命令详解:从拉取、提交到分支合并与回滚
版本控制是软件开发协作的基石,集中式与分布式模型的选择直接影响团队工作流。作为典型的集中式版本控制工具,SVN以中央仓库为唯一权威,所有提交、更新、分支与合并均需经过服务器验证,这种模式在权限管控、二进制文件处理和审计追溯方面具有天然优势。掌握SVN的基础操作命令,不仅能应对传统企业、外包项目等仍以SVN为版本管理主力的场景,更能深刻理解版本控制的核心原理。本文系统梳理了从checkout拉取代码、update同步更新、commit提交修改的日常闭环,到分支创建与合并、冲突解决、基于反向合并的回滚策略,再到
Subversion配置和使用之分支与合并(5)
分支与合并 分支的基本概念就正如它的名字,开发的一条线独立于另一条线,如果回顾历史,可以发现两条线分享共同的历史,一个分支总是从一个备份开始的,从那里开始,发展自己独有的历史(如下图所示) [img]http://chaxinyi.iteye.com/upload/picture/pic/10345/a5f7da85-6e2c-3c41-b9e1-57c1e4874747.jpg[/i...
SVN分支合并实战:如何用Merge a range of revisions解决基线冲突(附命令行操作)
本文深入解析了在SVN分支合并中,如何运用Merge a range of revisions功能精准解决基线冲突。通过详细的命令行操作步骤,指导开发者将基线改动安全合并到功能分支,并最终将分支成果合并回主干,有效应对基线频繁迭代带来的合并难题,提升版本管理效率。
SVN 分支
之前工作的时候,都是直接拉取和提交代码就好,现在经常要拉取分支,合并分支。有时候经常忘记那些命令,写个文章记录一下 1、拉分支 找到自己主分支的位置,右键TortoiseSVN -> Branch/tag 输入你分支所在的地址,文件夹不存在会自动创建 查看代码文件 已存在 2、分支代码合并到主分支 在你想要合并的文件夹右键 直接next xy 选中你想要合并的路径(下面截图是从主分支合并到分支) 然后直接next -> Me...
SVN主干合并到分支
公司需要测试某些功能,准备先上线这部分功能,所以需要把这部分代码合并到某个版本(比如mydemo_v2.4.7.6)分支上,交给测试部门拉取这个版本测试。5、弹出下图,选择comparewhitespaces,可以先按testmerge按钮测试一下看看是否有冲突,有冲突先解决冲突,再点击merge。4、弹出主干提交的版本框,选择需要合并的功能版本(例如1612版本),可以选择多个版本合并,点击next。到这里全部操作完成,代表选择的功能版本已经合并到本地分支上了,最后提交该分支代码即可。...
svn分支合并
SVN最核心基础2018年5月30日星期三 皮亚杰 10:29SVN 不管建立主干、分支,以及里面的若干项目、目录,其实都没有任何关联关系,都是简单的copy目录、文件,比如主干是trunk,分支是branches,里面都建立一个文件夹,虽然建分支时,是从trunk复制出来的,但是此后二者在文件系统里其实没什么关联,branches里修改也只是对应在branches下,不管update还是comm...
svn打分支与分支合并回主干
从当前主线copy一份和主线一样的代码仓,在不影响主线功能的前提下,开发新功能。Copy出来的新代码仓即为分支Branch,原代码仓即为主线Trunk。新功能开发完后,需再手动由分支合并(merge)到主线。 一、svn建立分支(Branch) 选中原工程目录,选择SVN ->Branch/tag Topath选到Trunk平级的branches下,没有就自己建个branches目录但是要和trunk平级不能嵌套。 创建成功后,切换到刚才的branches目录可以看到分支,check...
Eclipse中SVN分支与合并
一、创建分支 Eclipse中利用svn插件创建分支,如下图 分支创建完毕,查看svn资源库中可以看到,分支信息: 二、分支合并主干 1、切换到分支,如图 切换: 2、修改分支信息 在pojo中新增Test类,并提交到svn中(一定要提交哦!) 3、切换到主干中,准备合并主干 此时主干的pojo中是没有Test类的。 4、分支合并主干,在主干上操作 分支合并主干完成,发现主...
SVN分支与合并(一)
本文介绍了版本控制中的分支与合并概念。分支用于隔离开发新功能,待稳定后可合并回主干;合并则是将分支修改整合到最新版本的过程。SVN分支的主要作用是区分开发版本与发布版本:主干负责新功能开发,分支用于修复发布版本的bug。文章强调分支修改应及时合并到主干,且只能单向合并。同时详细说明了合并操作的具体方法,包括如何对比改动、处理冲突,并特别指出合并时URL匹配的重要性。
在 Windows 系统下使用 VMware 安装 Ubuntu 24.04 LTS 系统
Ubuntu24.04桌面端官方下载:https://cn.ubuntu.com/download/desktop。
STM32F103模拟SSI时序解析:实现高精度绝对式编码器位置读取
本文详细解析了如何在STM32F103微控制器上通过软件模拟SSI协议时序,实现高精度绝对式编码器的位置读取。文章从项目驱动出发,深入剖析了SSI通信原理、硬件电平转换连接、核心软件模拟代码实现及关键时序参数调试方法,并提供了使用示波器进行波形对齐与优化的实战指南,为成本敏感型工业控制与机器人项目提供了高性价比的解决方案。
SVN的分支,切换和合并的使用
当我们开发完成一个项目,并且在再次遇到相同类型项目的时候,重新开发难免费时费力。复制粘贴也是麻烦。 这里就用到了SVN的分支功能。下面主要介绍SVN的分支,切换和合并。 1、首先,如果想用最新的项目做分支,就先要保持项目的最新版本。 2、选择项目右键-->team-->分支/标记 URL换为想要分支到的文件夹的 路径。 3、下一步: 第一次创建为head版本。完成 4
4G+GNSS定位模块DX-CT511N-B:AT指令实战与多协议通信指南
本文详细介绍了4G+GNSS定位模块DX-CT511N-B的AT指令实战应用与多协议通信配置。内容涵盖TCP/UDP通信、MQTT协议集成、HTTP服务交互以及GNSS定位功能的深度解析,为开发者提供从基础指令到高级调试的完整指南,助力物联网设备开发。
SVN分支与合并透析
作者:fbysssmsn:jameslastchina@hotmail.com blog:blog.youkuaiyun.com/fbysss声明:本文由fbysss原创,转载请注明出处关键字:svn分支合并1.创建分支的意义创建分支的意义,比如我们在一个基础平台上进行开发,每个技术小组负责一个子项目,而基础平台也是有可能会继续更改的,这个时候,如果不创建分支,子项目之间会相互影响,影响最大的就是后
STM32与小米CyberGear微电机的CAN通信协议深度解析
本文深度解析STM32与小米CyberGear微电机的CAN通信协议,涵盖硬件连接、CAN总线配置、通信协议解析及多电机协同控制。重点介绍了基于STM32的电机控制实践,包括运动模式、速度与位置模式设置,以及数据反馈与故障诊断,为机器人及自动化设备开发提供实用指南。
BeikeShop跨境电商独立站系统V1.5.0免授权全开源版
BeikeShop 一款开源好用的跨境电商系统,BeikeShop 是基于 Laravel 开发的一款开源商城系统,主要面向外贸/跨境电商行业提供商品管理、订单管理、会员管理、支付、物流、系统管理等功能。BeikeShop商城 Beike多语言商城 多货币商城B2C商城系统 代码100%开源 PHP商城系统 H5/PC商城 跨境电商系统 跨境商城系统 电商商城系统 Laravel 9 框架插件化开发,MVC架构 支持插件市场。Event 机制实现Hook功能,自定义可视化装修。
SVN不同分支代码合并
svn不同分支合并
从FER2013到AffectNet:表情识别数据集十年演进史与你的项目选型攻略
本文回顾了从FER2013到AffectNet等主流人脸表情识别数据集的十年演进历程,详细分析了各数据集的特点、适用场景及技术突破。针对不同项目需求,提供了从移动端应用到高精度研究的选型策略,特别强调AffectNet在现代FER项目中的核心价值,并给出混合数据集构建的实战方案。
svn创建分支,主干合并到分支,分支合并到主干
Revert to this revision和Revert changes from this revision 譬如有个文件,有十个版本,假定版本号是1,2,3,4,5,6,7,8,9,10。 Revert to this revision: 如果是在版本6这里点击“Revert to this revision”,表示7~10的修改全部作废,历史倒退到了版本6那个年代。 Revert ch...
Couldn‘t agree a key exchange algorithm(available:curve25519-sha256,curve25519-sha256@libssh.org解决方案
本文主要介绍了Couldn’t agree a key exchange algorithm(available:curve25519-sha256,curve25519-sha256@libssh.org解决方案,希望能对使用winscp的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案 2.1 方案一 2.2 方案二
锐捷-GZ073 网络系统管理赛项赛题第1套A模块-S5配置
锐捷-GZ073 网络系统管理赛项赛题第1套A模块-S5配置
SVN分支创建 与 分支和主干的代码合并问题
本文转载自:HMonkey 的文章 https://www.jianshu.com/p/e50af339259f 最近项目中涉及到了SVN的创建分支,以及分支和主干代码的合并。在此记录一下主要的东西(恩,感觉这位博主的截图好暖心,就忍不住转一下了)~ 一、创建分支的意义: 在日常项目开发及版本迭代的过程中,经常会遇到这样的场景:当前版本提交QA测试之后,一方面需要在主干上开发下一版本的新需求;另一...
TMS_WebGMaps_1.9.8.0_Full_Source
TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder
linux命令——svn分支创建、合并
详细说明svn分支与合并,以及实例 一,svn分支与合并有什么用? 作程序的,对svn在熟悉不过了,但对svn分支熟悉的,我想并不多。因为一般情况下,是用不着svn分支的,其实也没有那个必要。下面我例举几个需要用到svn分支的情况: 1,比较大的项目。比较大的项目,一般情况下会分成几个阶段来完。好比什么五年计划。到了某个阶段时,我建立一个分支,当个备份。万一将
IMSL CNL 7.0.0 (x86-64)Crack
IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件
android 蓝牙通讯demo
android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。
IDEA用SVN创建分支和合并分支
一、创建分支 1、主版本SVN目录结构 2、IDEA中创建分支 弹窗确认框 点击Yes,分支创建成功! 3、分支版本SVN目录结构 登录svn服务器查看分支 二、IDEA中切换分支 1、配置分支 (Configure Branches) 如果没有可选择的分支,则需要先配置分支 版本配置弹窗 取消权限配置 编辑分支地址 加...
IDEA的使用指南
IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.
svn 命令行创建分支、合并主干
创建分支 svn cp -m "create branch" http://server/test/trunk http://server/test/branches/future 获得分支 svn co http://server/test/branches/future 合并主干上的最新代码到分支上 在分支版本控制下执行 svn merge http://ser...
222



被折叠的 条评论
为什么被折叠?



