[svn] linux命令——svn分支创建、合并
一、创建分支
1,创建一个分支
svn copy svn://xx.com/repo/trunk svn://xx.com/repo/branches/TRY-something -m 'make branches TRY-something'
2,把工作目录转到分支
svn switch svn://xx.com/repo/branches/TRY-something
当然,也可以再转到主干svn switch svn://xx.com/repo/trunk
二、合并一个分支到主干
1, 查找到分支版本
方法一:cd branch
svn log --stop-on-copy
最后一个r11340就是创建分支时的reversion
方法二:cd trunk
命令:svn -q --stop-on-copy 分支URL,这条命令会查询出自创建分支以后分支上的所有修改,最下面的那个版本号就是我们要找的版本号.
示例:svn log -q --stop-on-copy svn://192.168.1.177/tags/beta_2009_12_24
2, 合并到主干
命令:svn -r 分支版本号:HEAD 分支的URL
解释:HEAD为当前主干上的最新版本
示例:
cd trunk
svn merge -r 12:HEAD svn://192.168.1.177/tags/beta_2009_12_24
解决冲突:
使用svn st | grep ^C 查找合并时的冲突文件,手工解决冲突
使用svn resolved filename 告知svn冲突已解决
使用svn commit -m "" 提示合并后的版本
svn: Aborting commit: '/path/resources/noc' remains in conflict
$ svn revert resources/noc
Reverted 'resources/noc'
三、两个分支合并
两个分支合并可以拆分为一下两步:
第一步:
197从旧主干引出,
186打完tag,表示是新主干
合并最新代码的意思是:将新主干与旧主干比对,并添加到197中。这样197既有自己的新增的代码,也同时有最新线上的代码。
cd 197_Branch
svn merge https://xxx.com/tags/project/project_Old_BL https://xxx.com/tags/project/project_New_BL
svn ci -m 'merge 186 trunk'
第二步:
但是后来,其他人又向186提了代码,所以还需要将186分支(即打了tag后的186,打了tag前的186已是主干)合并至197中。
合并办法:找出186分支,比对与新主干之间的差别,并添加到197中。这样197就有最新的全部代码了。
cd 197_Branch
svn merge https://xxx.com/tags/project/project_New_BL https:/xxx.com/project/branches/project/186_Branch
svn ci -m 'merge 186 branch'
四、发布
给当前主干打个标签,并且这个标签不再改动了,但是实际上标签和分支是一个意思,你可以在标签上继续做改动,但这不推荐。
svn copy svn://xx.com/repo/trunk svn://xx.com/repo/tags/RB-1.0
[svn] linux命令——svn分支创建、合并的更多相关文章
- zt:我使用过的Linux命令之ar - 创建静态库.a文件
我使用过的Linux命令之ar - 创建静态库.a文件 本文链接:http://codingstandards.iteye.com/blog/1142358 (转载请注明出处) 用途说明 创建静 ...
- 【转】SVN linux命令及 windows相关操作(三)
TortoiseSVN是windows下其中一个非常优秀的SVN客户端工具.通过使用它,我们可以可视化的管理我们的版本库.不过由于它只是一个客户端,所以它不能对版本库进行权限管理. TortoiseS ...
- 【转】SVN linux命令及 windows相关操作(一)
从以下博客转载和整理: http://www.cnblogs.com/richcem/archive/2011/01/08/1930823.html http://blog.wpjam.com/m/t ...
- SVN常用命令与分支操作
1.基本操作 1.0 创建版本库: Svnadmin create /data/repos 2.0 修改配置文件 Auth文件 [groups] admin=shguo [/] @ad ...
- SVN使用教程之-分支/标记 合并 subeclipse (转)
首先说下为什么我们需要用到分支-合 并.比如项目demo下有两个小组,svn下有一个trunk版.由于客户需求突然变化,导致项目需要做较大改动,此时项目组决定由小组1继续完成原来正 进行到一半的工作[ ...
- SVN使用教程之——分支、合并
首先说下为什么我们需要用到分支-合并.比如项目demo下有两个小组,svn下有一个trunk版.由于客户需求突然变化,导致项目需要做较大改动,此时项目组决定由小组1继续完成原来正进行到一半的工作[某个 ...
- SVN使用教程之-分支/标记 合并 subeclipse
首先说下为什么我们需要用到分支-合并.比如项目demo下有两个小组,svn下有一个trunk版.由于客户需求突然变化,导致项目需要做较大改动,此时项目组决定由小组1继续完成原来正进行到一半的工作[某个 ...
- 【转】SVN linux命令及 windows相关操作(二)
转自这里:http://www.uml.org.cn/pzgl/200904246.asp 1 安装及下载client 端 2 什么是SVN(Subversion)? 3 为甚么要用SVN? 4 怎么 ...
- git入门四(分支创建合并)
熟悉git分支的原理是掌握了git的精髓,因为git和我们常用的源码管理系统有很大的区别和优点在分支上可以体现出来,一般我们常用的源码管理系统分支都是需要创建新目录,有全新的源码copy,一般都需要创 ...
随机推荐
- 2015GitWebRTC编译实录7
2015.07.20 libvoiceengine 编译通过去除了mock测试代码,mock是用来进行测试的,意义不大.另外会报一个常量错误,需要定义WEBRTC_MAC宏,只定义WEBRTC_IOS ...
- 使用Jsoup函数包抓取网页内容
之前写过一篇用Java抓取网页内容的文章,当时是用url.openStream()函数创建一个流,然后用BufferedReader把这个inputstream读取进来.抓取的结果是一整个字符串.如果 ...
- c++变量的引用---5
原创博客:转载请标明出处:http://www.cnblogs.com/zxouxuewei/ 1.引用变量的主要用途: 用作函数的形参,通过将引用变量用作参数,函数将使用原始数据而不是其拷贝. 2. ...
- Codeforces Round #118 (Div. 2)
A. Comparing Strings 判断不同的位置个数以及交换后是否相等. B. Growing Mushrooms 模拟. C. Plant 矩阵+快速幂 D. Mushroom Scient ...
- python文件操作--字符串替换
如把test.txt文件的 所有 AAA 字符串 替换成 aaaaa with open('test.txt','+r') as f: t = f.read() t = d.replace('AAA' ...
- c# 图片XML序列化与反序列化
var xmlDoc = new XmlDocument(); xmlDoc.Load(@"C:\Users\*\Desktop\*.xml"); ].ChildNodes[]; ...
- OCR是用来做什么的
OCR(Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗.亮的模式确定其形状,然后用字符识别方法将形状翻译成 ...
- python_Memcached
一.Memcached 1.Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网 ...
- Smarty 由 2.X升级到3.X遇到的问题
首先这是一个大概4年前做的PHP项目,使用的是Zend Framework 1 + Smarty 2 , 已经很多年没有动过了, 最近抽风了,把这个项目要玩改版.拿出来改改吧. ZF 升级2这事,还是 ...
- unity, 取消ugui button响应键盘
http://answers.unity3d.com/questions/859460/button-is-being-triggered-by-spacebar-after-clicke.html