SVN建立分支、代码合并以及常用操作
在项目开发的过程中,现在遇到这样一个问题:
现在是9月份,在同一个项目中我要开发A、B两个模块,A模块是11月份上线,B模块是12月份上线,但是SVN上的trunk(主干)上的代码必须是上线的。
假设我可以在9月份完成这两个模块,但是我不能在trunk上开发完这两个模块。因为如果我在trunk上开发完成了这两个模块,等11月份A模块上线时,我怎么保证
我提交的代码只是A模块的呢?并且在我开发这个项目的同时,其他同事也在开发这个项目,这样,整个项目就会乱掉,没办法管理。当然,或许你可以将现在的项目
copy一份保存,然后……然后……或许你可以完成真个模块的开发。万一你的备份不小心不见了,那就只好重头开始代码…… 崩溃……崩溃……
于是我们可以用SVN建立分支,代码合并等,这样可以很方便的管理我们的版本开发。
SVN建立分支:
1、建立一个项目 如bamCode
2、选中项目,单击右键 如图

3、点击 分支/标记… 如图

4、点击 浏览 点击 branches 选中branches ,单击右键,新建一个文件夹,如 A模块分支,next——>finish,选中A模块分支,如图

5、点击OK,一路next即可
分支建立好了,接下来我们需要在分支上进行开发,因此,我们需要切换到刚刚建立的分支上
1、选中项目,单击右键,如图

2、点击切换 ,如图

3、点击浏览——>选中A模块分支——>点击OK——>点击OK即切换到了刚刚建立的分支上。
此时我们需要记住现在分支上的这个版本号 ,小编的为399,最好也知道主干上的版本号,假设为315。
好了,接下来我们就可以愉快的编码了…… 假设此时我们的trunk上也有同事在开发 ,别管别人的。
终于开发完了,模块需要上线了,但此时主干上的版本号为360,此时我们需要合并代码。
1、在分支的项目上选中,单击右键——>team——>合并
2、
3、Perform pre-merge best practices checks 不选,点击next
4、From:(start URL and revision of the range to merge)
这个选择我们的分支上的项目目录结构 意思是开始是我们的分支,最终我们要的是trunk最新版,如图

5、选中我们的项目,点击OK,From的版本一定要选择我们刚开始建立分支是的那个版本,小编的版本是399
6、To的URL选择我们trunk的RUL,版本选择最新的,可以直接选择HEAD Revision,next、finish即可,这个版本就是我们最终合并后的版本。
这样做的目的是什么?
因为此时我们的分支上的代码和主干上的代码时不同的,我们需要把主干上的代码合并到分支上,但分支我们写的代码又保存,所以我们需要把分支上的版本号选
择刚开始建立分支时的版本号,即小编的399版本,然后把主干上的版本选择最新的,这个我们合并的时候就把主干上最新的代码合并到了分支上,
到此为止,我们分支上的代码有两部分组成:1、主干上最新的;2、自己写的
7、现在我们只需把我们分支上的代码合并到主干上即可,这样我们主干上的代码也是最新的。
操作类似
此时我们要切换到主干上来操作了,在主干上选中项目,然后做合并操作,
From:主干上的代码的URL
To:分支上的代码的URL
版本都选中 HEAD Revision版本即可。
到此,整个建立分支和合并代码的操作就完成了,当然SVN是一个很好的版本控制工具,还有很多其他功能。常用的功能还有:
1、提交
2、更新
每次提交之前,最后都先更新
3、与资源库同步
……
SVN建立分支、代码合并以及常用操作的更多相关文章
- SVN建立分支和合并代码
1.SVN建立分支正确SVN服务器上会有两个目录:trunk和branches.trunk目录下面代码就是所谓的主版本,而branches文件夹主要是用来放置分支版本.分支版本是依赖于主版本的,因此建 ...
- Android Studio 合并分支代码到主干的操作总结
一.背景 使用SVN进行版本管理时,一般的,我们的所有的开发都是基于trunk进行开发,当一个版本开发告一段落,经验证测试发布上线后,代码处于冻结状态,基于当前冻结的代码库,打一个tag进行管理,与发 ...
- SVN 分支代码合并到主线
SVN 分支代码合并到主线 步骤一安装TortoiseSVN 客户端,在本地 checkout主线代码 步骤二:创建branches分支 步骤三.branches修改提交代码 步骤四:分支代码合并到主 ...
- SVN拉分支,合并分支
前提是:本地已安装SVN,且在SVN中新建好branch和tag目录 拉分支: 把svn内容下载到本地,然后右键TortoiseSVN-->Branch/tag... 上图中红框选择存放的路径, ...
- idea实现svn拉分支和合并分支的教程
原文地址:https://blog.csdn.net/qq_27471405/article/details/78498260 今天测试了一下svn拉分支和合并分支的教程,决定分享给大家 拉分支教程: ...
- git 如何把master分支代码合并到自己的分支
master分支的代码领先自己的分支,git 如何把master分支代码合并到自己的分支 1.首先切换到主分支 git checkout master 2.使用git pull 把领先的主分支代码pu ...
- svn建立分支和svn代码合并的操作方法
首先说下为什么我们需要用到分支-合并.比如项目demo下有两个小组,svn下有一个trunk版.由于客户需求突然变化,导致项目需要做较大改动,此时项目组决定由小组1继续完成原来正进行到一半的工作[某个 ...
- svn打分支和合并操作
1.svn打分支 到trunk里,选择Branch/tag.... 填写分支版本路径 到branch里svn up 一下,就有1.4.0分支了 2.svn合并 到trunk里,选择Merge.. 选择 ...
- svn branch and merge(svn切换分支和合并)详解
下文的实践主要是参考了TortoiseSVN的帮助文档和Subversion的在线文档,Subversion的在线文档:http://svnbook.red-bean.com/en/1.5/svn-b ...
随机推荐
- hdu1387 模拟队列
Team Queue Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Su ...
- win10下Anaconda3在虚拟环境python_version=3.5.3 中配置pyspark
1. 序经过了一天的修炼,深深被恶心了,在虚拟环境中配置pyspark花式报错,由于本人实在是不想卸载3.6版的python,所以硬刚了一天,终于摸清了配置方法,并且配置成功,不抱怨了,开讲: 2. ...
- Paw —— 比Postman更舒服的API利器
特点: 颜值高本地应用,流畅有收藏夹,管理请求可使用环境变量.比如用来一键切换开发环境请求和线上环境请求.即不同环境的同个接口只有host不一样,其它都是一样的,所以就把host抽离出来弄成一个环境变 ...
- Java 字节流和字符流
程序中都是以流的形式进行数据的传输和保存,在java.io包中数据流操作的两大类是字节流和字符流. 1. 字节流 InputStream和OutputStream是所有表示字节流的类的父类,它们都是抽 ...
- SQL SERVER LEFT JOIN, INNER JOIN, RIGHT JOIN
JOIN: 如果表中有至少一个匹配,则返回行 LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行 RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行 FULL JOIN: 只 ...
- 在vue2.x中安装sass并配置
在vue中安装sass先检查系统中有没有安装sass,在命令行中输入 sass -v 表示sass在电脑中已有,否者可以参考我这篇博客安装Sass遇到的坑 一.先安装sass cmd打开命令行,到项目 ...
- 关于let 和 var 的作用域问题
直接来一个经典案例: // 1. 下面的结果是什么? 为什么? for (var i=0;i<5;i++){ setTimeout(function () { console.log(i) }, ...
- Java Jdk 环境配置和测试
测试jdk:1.6 安装完jdk1.6以后,在我的电脑中找到环境变量配置 在系统变量的Path 中输入 ;E:\Program Files (x86)\Java\jdk1.6.0_01\bin(路径根 ...
- Android NDK开发 JNI操作java构造方法,普通方法,静态方法(七)
Android NDK开发 JNI操作java普通.静态.构造方法 1.Jni实例化一个Java类的实例jobject 1.通过FindClas( ),获取Java类的的jclass 2.通过GetM ...
- /proc/sys/net/ipv4/下各参数含义
net.ipv4.tcp_tw_reuse = 0 表示开启重用.允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭 net.ipv4.tcp_tw_recycle = ...