SVN版本控制说明

目的

多个版本中并行开发,提高开发效率;

保证各个版本和各个环境(开发、测试、主干)的独立,避免相互影响;

通过分支与主干的合并,这样主干永远是最新、最高版本,并且都在后面的测试中,保证了质量;

用分支进行bug修改,而主干上进行新功能的开发。分支上的bug修改完合并到主干上;

SVN目录结构

Trunk(开发库) :

主干目录,负责新功能的开发;

此目录下的文件为基准文件,放置稳定代码的主要环境;

开发人员日常开发的工作区,由开发者所控制;

Branches(受控库) :

测试版本代码存放的地方,需要开发组长提交测试申请修改;

用于开发的分支目录,修正当前发布版本的bug,与此同时主干上的开发正常进行,两边互不干扰;

当一个branch完成了,并且认为它足够稳定的时候,它必须合并回trunk;

Tags(产品库) :

存放基线库、发布版,是测试通过版本存放的地方;

基线,就是给版本建立一个映像(或着叫快照),并不占用服务器物理磁盘;

这个文件夹下的内容通常只有配置管理员可以修改,其他人只读;

分支

分支是给源项目创建副本,让每个工作组在各自的副本上进行开发,最后再将各个工作组的副本合并到源项目中。在此,各个副本被称作分支(branches),源项目被称为主干(trunk);

分支不是复制版本内容,而是做一个内部的引用,对服务器也没有空间上的开销;

分支定义规则

project name + 日期时间 + 版本号,比如:project_20150202_v1.0.3,在创建每一个分支时,必须增加标注。

mac 终端创建svn分支

svn 文件夹结构

svn://proj/

+trunk/ (freeze)

+branches/

+tags/

创建分支

svn cp -m "create branch" http://svn_server/xxx_repository/trunk http://svn_server/xxx_repository/branches/br_(分支名称

获得分支cd 到branches目录然后
svn co http://svn_server/xxx_repository/branches/br_(分支名称

checkout 出来后如果本地没有就update下 ,或者可能svn慢了,可以关掉重新开启,然后更新下。

合并主干上的最新代码到分支上

cd 到分支名称的文件夹下面

svn merge http://svn_server/xxx_repository/trunk

分支合并到主干

cd trunk (主线)

svn merge --reintegrate http://svn_server/xxx_repository/branches/br_(分支名称
分支合并到主干中完成后应当删该分支,因为在SVN中该分支已经不能进行刷新也不能合并到主干。

合并版本并将合并后的结果应用到现有的分支上

svn -r 148:149 merge http://svn_server/xxx_repository/trunk

建立tags

产品开发已经基本完成,并且通过很严格的测试,这时候我们就想发布给客户使用,发布我们的1.0版本
svn copy http://svn_server/xxx_repository/trunk http://svn_server/xxx_repository/tags/release-1.0 -m "1.0 released"

备注:如果不知道svn url 是多少 可以利用svn info 中查看。感觉还是终端操作比较好用。其他的checkout的时候经常会卡住。如果出现checkout卡在一个文件的情况下可以用终端co 试试

查看svn 有几个分支svn ls 分支地址 --verbose
参考文章:https://blog.csdn.net/maxracer/article/details/5338954

SVN版本控制说明与相关指令的更多相关文章

  1. SVN版本控制工具使用学习

    SVN版本控制工具使用学习 Subversion是优秀的版本控制工具. 1.下载和搭建SVN服务器 http://subversion.apache.org/packages.html 类型有5种,推 ...

  2. AnjularJS系列2 —— 表单控件功能相关指令

    第二篇,表单控件功能相关指令. ng-checked控制radio和checkbox的选中状态 ng-selected控制下拉框的选中状态 ng-disabled控制失效状态 ng-multiple控 ...

  3. 快速清除文件夹svn版本控制信息

    将下面内容另存为clear.bat文件,在有版本控制的目录执行即可 @echo On @Rem 清除SVN版本控制信息 @for /r . %%a in (.) do @if exist " ...

  4. Linux相关指令

    Linux相关指令 1.find文件搜索功能 find [目录列表] [匹配参数] [匹配标准] -name :按文件名称进行搜索 -group :按文件所属组进行搜索 -user :按文件拥有者进行 ...

  5. 取消svn版本控制

    删除项目中的版本控制,即删除项目文件夹下的所有.svn文件夹(在做项目的时候,有时候想把项目拷回去看看,但是文件太大了,而且压缩起来很慢.这主要是因为在项目中有大量的.svn文件夹.所以才想把.svn ...

  6. 基于腾讯Centos7云服务器搭建SVN版本控制库

    基于腾讯Centos7云服务器搭建SVN版本控制库 最近在和小伙伴组队参加一个关于人工智能的比赛,无奈不知道怎么处理好每个人的代码托管问题,于是找到了晚上免费svn托管服务器的服务,但是所给的免费空间 ...

  7. Linux指令--性能监控和优化命令相关指令

    原文出处:http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html.感谢作者无私分享 性能监控和优化命令相关指令有:top,free,v ...

  8. 常见压缩格式分析,及 Linux 下的压缩相关指令

    可先浏览加粗部分 一.常见压缩档 *.zip | zip 程式壓縮打包的檔案: (很常见,但是因为不包含文件名编码信息,跨平台可能会乱码) *.rar | winrar 程序压缩打包的档案:(在win ...

  9. CentOS下 SVN版本控制的安装(包括yum与非yum)的步骤记录。

    一.yum安装 rpm -qa subversion //检查是否安装了低版本的SVN yum remove subversion //如果存储旧版本,卸载旧版本SVN 开始安装 yum -y ins ...

随机推荐

  1. 编译原理_P1003

    1. 语法分析 1.1 上下文无关文法的定义 ----  正规式能定义一下简单的语言,能表示给定结构的固定次数的重复或者没有指定次数的重复 例如:a(ba)5,a(ba)* ---- 正规式不能用于描 ...

  2. LeetCode No.127,128,129

    No.127 LadderLength 单词接龙 题目 给定两个单词(beginWord 和 endWord)和一个字典,找到从 beginWord 到 endWord 的最短转换序列的长度.转换需遵 ...

  3. slqmap简单使用

    网址:-u 指定哪个参数:-p 需要登录用--cookie 获得所有数据库:--dbs 获得所有用户:--users 指定某个数据库:-D 显示所有表--tables 指定某个数据表:-T 显示列:- ...

  4. 让mybatis不再难懂(二)

    上一篇文章写了mybatis的基本原理和配置文件的基本使用,这一篇写mybatis的使用,主要包括与sping集成.动态sql.还有mapper的xml文件一下复杂配置等.值得注意的是,导图17和18 ...

  5. SpringBoot 系列 - 自己写starter

    原文地址: https://www.xncoding.com/2017/07/22/spring/sb-starter.html 前言: Spring Boot由众多Starter组成,随着版本的推移 ...

  6. Windows下定时任务重启tomcat

    1.创建bat文件 vaccinateOff.bat  => taskkill /T /F /FI "WINDOWTITLE eq Tomcat-jx-1" 注:Tomcat ...

  7. 3dmax2019卸载/安装失败/如何彻底卸载清除干净3dmax2019注册表和文件的方法

    3dmax2019提示安装未完成,某些产品无法安装该怎样解决呢?一些朋友在win7或者win10系统下安装3dmax2019失败提示3dmax2019安装未完成,某些产品无法安装,也有时候想重新安装3 ...

  8. 吴裕雄--天生自然python学习笔记:Python3 函数

    函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也可以自己创建函数,这 ...

  9. btrace简单使用

    基本安装 在github上btrace项目的release下 下载最新的btracehttps://github.com/btraceio/btrace/releases 解压完后,将btrace的b ...

  10. 我是青年你是良品-魅蓝NOTE 2

    2" title="我是青年你是良品-魅蓝NOTE 2">   明天魅蓝即将迎来自己的新品发布会.选择儿童节的第二天后最喜爱的手机品牌.让其成为真正青年的良品. 在 ...