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 ...
随机推荐
- FileLoadException: 未能加载文件或程序集"aliyun-net-sdk-cf, Version=1.0.0.0,
清理缓存解决 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files C:\Windows\Microsoft. ...
- 自定义Razor 标签
1.首先需要一个abstract class WebViewPage<T> ,继承系统的 System.Web.Mvc.WebViewPage<TModel> 再定义一个Web ...
- 工具类_IsNull
import java.util.List; /** * 判断是否为空 2015-08-17 * * @author lipanquan * */public final class IsNull ...
- iOS如何实时查看App运行日志
Linux下管理挂载IOS设备——libimobiledevicehttps://www.jianshu.com/p/6423610d3293https://blog.csdn.net/fengzei ...
- pip 安装库的时候使用豆瓣镜像 提升效率
由于众所周知的原因,国内网络环境始终处于水深火热之中,python库的安装也不例外. 比如在安装 PyQt5-tools 的时候,网速奇慢无比. 好在国内有不少镜像服务源,以豆瓣为例,网速突飞猛进 使 ...
- Hive学习(三)Hive的Java客户端操作
Hive的Java客户端操作分为JDBC和Thrifit Client,首先启动Hive远程服务: hive --service hiveserver 一.JDBC 在MyEclipse中首先创建连接 ...
- Django自定义过滤器
1.首先在在settings中的INSTALLED_APPS配置当前app,不然django无法找到自定义的simple_tag. 2.在app中创建templatetags模块(模块名只能是temp ...
- Linux的cron服务
可以用以下命令启动和停止服务: /sbin/service crond start /sbin/service crond stop /sbin/service crond restart /sbin ...
- ZK使用
1. 关注问题 1. zookeeper集群如何保证请求的均匀分布? 由client建立连接时会随机取server保证均匀分布, 2.已布置完成的ZK集群如何扩容? 修改配置后逐台重启即可 2. ZK ...
- stm32 输入捕获学习(一)
输入捕获模式可以用来测量脉冲宽度或者测量频率.STM32 的定时器,除了 TIM6 和 TIM7,其他定时器都有输入捕获功能.STM32 的输入捕获,简单地说就是通过检测 TIMx_CHx 上的边沿信 ...