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 ...
随机推荐
- ssh连接异常
在平时工作中,有时候需要SSH登陆到别的Linux主机上去,但有时候SSH登陆会被禁止,并弹出如下类似提示: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ...
- find命令使用
find命令 find [PATH] [option] [action] 参数: 1.与时间相关参数 -atime -ctime -mtime 以mtime为例: -mtime n:n为数字,意义为在 ...
- 提取SQL中用到的表
dos2unix * for i in `ls` do :}` awk '{print tolower($0)}' "${i}"|grep -Eiw "from" ...
- 转 Django中的Form
https://www.cnblogs.com/chenchao1990/p/5284237.html Form 一.使用Form Django中的Form使用时一般有两种功能: 1.生成html标签 ...
- java将pdf转成base64字符串及将base64字符串反转pdf
package cn.wonders.utils; import java.io.BufferedInputStream;import java.io.BufferedOutputStream;imp ...
- Django重新整理3
Forms组件 1.在models.py中我们建立一个新的表关系: class UserInfo(models.Model): user=models.CharField(max_length=32) ...
- LeetCode 367.有效的完全平方数(C++)
给定一个正整数 num,编写一个函数,如果 num 是一个完全平方数,则返回 True,否则返回 False. 说明:不要使用任何内置的库函数,如 sqrt. 示例 1: 输入:16 输出:True ...
- android 中百度地图 关于地图缩放所调用的事件
在做百度地图的时候 javascript 有个地图缩放的事件 但是在android 的API里面却没有,但是还好 官方给了一个MapStatusChangeListener,是这样介绍的 百度地图S ...
- POJ 3660—— Cow Contest——————【Floyd传递闭包】
Cow Contest Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Submit ...
- angularjs ui-grid如何动态设置行高
自己开发的公众号,可以领取淘宝内部优惠券 在用ui-grid的时候我们可以用rowHeight设置行高,可是每一行的高度都是一样的,无法根据行内的内容进行自适应.如下图 为了解决这个问题,google ...