SVN支干合并(转载)
分支用来维护独立的开发支线,在一些阶段,你可能需要将分支上的修改合并到最新版本,或者将最新版本的修改合并到分支。
此操作十分重要,在团队开发中,如果你是SVN
的维护者此环节可以说是必不可少,因为团队开发中如果使用了分支,那样合并分支到主干、或者分支合并分支的操作是必须的。
如果不使用分支,直接在主干上修改的话,主干版本可能会变得十分混乱。维护难度大大加大。
下面以使用TortoiseSVN为例,任何SVN的客户端工具其实都大同小异。
一、分支的合并
点击菜单上的合并按钮,出现如图窗口,一般的使用第三个选项即可。如图所视。
点击下一步
注意填写起始和结束的URL
及版本,尤其重要。这一步将影响你合并后所得的版本。
简单的说,“结束的URL
和版本”是此次操作的最终标准。而“起始URL
和版本”一般情况下必须是该分支创建的起始版本。
比方说,这次分支是从主干100
上创建的,而分支的起始版本是101
。最终分支完成后的版本是105
。
简单情况下,主干上的版本没有被更新,依然是100
。如果想把分支功能合并到主干上的话,我们可以在主干100
的工作副本中点击合并,然后“起始URL
和版本”填写主干的URL
,版本100(
或者HEAD
,因为最新版本也是100)
,然后“结束的URL
和版本”填写分支的URL
和版本105(
也可以是HEAD)
即可。
操作完成后,此次合并效果会在工作副本上呈现,如果有问题请使用还原,撤销此次修改操作。
注:其他SVN
的插件大同小异。
二、多分支合并
参考单分支的分支操作,而多分支的情况简单来说有两种:
- 分支中的起始版本一致
比方说现在有两个分支,分支A
和分支B
。他们分别从主干T
创建分支。
主干T
版本100
,分支A
的版本101
,分支B
的版本号102
。
当分支A
和分支B
都各自完成开发,并且提交到SVN
上后。A
的版本号为110
,而B
的版本号为115
。
此时必须两步操作,并且操作在主干T
的工作副本内执行:
1)
主干T
合并分支A
起始URL
和版本
主干T
的URL
、版本100
结束的URL
和版本
分支A
的URL
、版本110
2)
合并分支A
后再继续合并分支B
起始URL
和版本
主干T
的URL
、版本100
结束的URL
和版本
分支B
的URL
、版本115
注意:完成第一步的时候不必提交。
- 分支中的起始版本不一致
比方说现在有两个分支,分支A
和分支B
。分支A
是从主干T
版本100
上创建,分支A
版本101
。创建分支A
后,主干上又做了其他修改,并且更新成版本102
。
然后主干T
版本102
的基础上创建分支B
,分支B
版本号为103
。
两个分支各自开发,最终分支A
版本号为110
,而分支B
的版本号为120
。
此时合并操作应该为三步,多的一步其实就是把起始版本统一:
1)
分支A
更新主干100-101
的更新,在分支A
的工作副本内执行。
起始URL
和版本
主干T
的URL
、版本100
结束的URL
和版本
主干T
的URL
、版本101
无误后提交修改。分支A
此时最终版本修改为121
。
2)
主干T
合并分支A
起始URL
和版本
主干T
的URL
、版本102
结束的URL
和版本
分支A
的URL
、版本121
3)
主干T
合并分支B
起始URL
和版本
主干T
的URL
、版本102
结束的URL
和版本
分支B
的URL
、版本120
看起来比较繁琐,其实最终目的还是把起始的版本统一,然后再把主干和分支上的差异修改添加到主干之上。
SVN支干合并(转载)的更多相关文章
- SVN分支与合并【超详细的图文教程】(转载)
SVN分支与合并 一. 分支与合并的概念 二. SVN分支的意义 三. 如何创建分支与合并分支 一.分支与合并的概念: 分支:版本控制系统的一个特性是能够把各种修改分离出来放在开发品的一个分割线上.这 ...
- eclipse svn分支与合并操作
以前做项目的时候没有用过svn的分支合并操作,今天用到了,刚开始还真不会啊.最后查了下就是这么的方便.专门记录下来. 原文来自:http://blog.csdn.net/lisq037/article ...
- 详细说明svn分支与合并---命令行
一,svn分支与合并有什么用? 作程序的,对svn在熟悉不过了,但对svn分支熟悉的,我想并不多.因为一般情况下,是用不着svn分支的,其实也没有那个必要.下面我例举几个需要用到svn分支的情况: 1 ...
- SVN 分支及合并的介绍和实践---命令行
写在前面 一些相关的概念和原理 进行分支开发的最佳实践 合并的分类 在 Eclipse 中进行合并操作 相关资源 写在前面 本文是由演讲整理而来的,介绍了 SVN 分支与合并的概念.流程和一些实际操作 ...
- SVN版本分支合并
SVN,开发中常用的工具,也没什么可说的.这里只是记录一下,以免太久不用了想用的时候又忘了. 首先已经有两个目录,一个是分支目录SVNChild,一个是主干目录SVNMain.SVNChild是从SV ...
- 详细说明svn分支与合并,以及实例
详细说明svn分支与合并,以及实例 一,svn分支与合并有什么用? 作程序的,对svn在熟悉不过了,但对svn分支熟悉的,我想并不多.因为一般情况下,是用不着svn分支的,其实也没有那个必要.下面我例 ...
- 实例讲解SVN分支和合并问题(转)
本节向大家简单描述一下SVN分支和合并方面的知识,在学习SVN的过程中SVN分支和合并时经常遇到的问题,在这里和大家分享一下,希望本文对大家有用. 关于主线同SVN分支合并的概念及如何使用的误区此问题 ...
- SVN 分支代码合并到主线
SVN 分支代码合并到主线 步骤一安装TortoiseSVN 客户端,在本地 checkout主线代码 步骤二:创建branches分支 步骤三.branches修改提交代码 步骤四:分支代码合并到主 ...
- [No000098]SVN学习笔记5-分支,合并,属性,补丁,锁,分支图
行结束符和空白选项 在项目的生命周期中,有时可能会将行结束符由 CRLF 改为 LF,或者修改一段代码的缩进.不幸的是这样将会使大量的代码行被标记为已修改,尽管代码本身并没有被修改.这里列出的选项将会 ...
随机推荐
- 查看tomcat启动文件都干点啥---Catalina.java
在前一章查看tomcat启动文件都干点啥---Bootstrap.java中我们得出结论,在Bootstrap中通过反射调用Catalina类中的getServer,start,stop,stopSe ...
- SQLServer出现不允许保存更改的问题解决
如图所示: 解决方法: [工具]->[选项]
- Jenkins错误“to depth infinity with ignoreexternals:true”问题解决
试下以下解决方法: 1.可能是SVN插件版本过低导致,升级SVN插件. 2.可能是构建时自己手动修改了代码,而SVN检出时无法覆盖导致的错误,可以先删除jenkins检出的代码,然后再检出一次去构建. ...
- JavaScript 深克隆
深克隆 function judgeType(arg){//判断js数据类型 return Object.prototype.toString.call(arg).slice(8,-1); } fun ...
- HTML DOM介绍
HTML DOM定义了一系列的对象,以及访问和处理HTML的方法.通过DOM可以浏览所有的HTML元素,不但可以修改或者删除元素的文本和属性,而且可以创建新的元素. 一.首先对一个元素进行操作前,要得 ...
- iOS7自定义back按钮和pop交互手势
Clambake for iPhone有一个回退按钮在所有的导航条上.这是一个简单的没有文字箭头. 实现一个自定义按钮是简单的.类似这个设置controller 的navigationItem一个le ...
- softmax函数python实现
import numpy as np def softmax(x): """ 对输入x的每一行计算softmax. 该函数对于输入是向量(将向量视为单独的行)或者矩阵(M ...
- 使用Jsoup解决网页中图片链接问题
在做Facebook和WhatsApp分享的时候,分享出去的谷歌短链,Facebook获取不到大图,和竞品展示的不一样,WhatsApp分享出去的短链没有图片和描述. WhatsApp: 分析竞品UC ...
- 内网ip打洞-----p2p实现原理
网上找了非常多.代码大堆,原理讲清楚透彻的不多. 本人找几篇讲得好的来整理一下. 一片技术文章,最基本的讲清楚原理.假设再有完整的能执行的源码也可,关键是要把核心部分代码分析清楚. (1)问题的由来: ...
- Win7如何解决内存不能为Read的批处理命令
将下面文件保存为"解决内存不能为Read的批处理命令.cmd"双击运行即可 for %%1 in (%WinDir%\system32\*.dll) do regsvr32.e ...