一  名词解释

svn一般包括      branch  每个branch版本都要生成对应的tag.例如 branch版本号为1.0.0,那么提交后生成的tag版本号为1.0.0.0;当branch修复bug提交后,tag的版本号为1.0.0.1

trunk    trunk一直往前走,不会回滚

tag      供测试使用

branch 自己的分支

milestone 上线使用

二  一般步骤

1  下载

使用 svn co把代码下载下来

使用svn copy 在svn上建立branch目录

使用svn switch 把本地的trunk映射到svn 的brach目录

2 开发

在trunk下开发,在开发过程中不段的把程序svn ci 提交。

3 提交

开发完毕。

新下载一个代码,svn merge  trunk 和  branch生成tag

三 实例说明

1   创建branch. 从trunk中获取最新的代码,创建一个自己的branch,进行开发(当有branch后就不需要再打branch了,每天更新即可)

                   (1)svn copy ​svn://utils/trunk ​svn://utils/branches/branch_xiaoming

                    (2)checkout项目代码, svn checkout ​svn://utils/





2   开发. 得到branch后,如何开发?

            (1)在本地的trunk目录下执行svn switch ​svn://utils/branches/branch_xiaoming, 如果不用switch将无法共享编译环境。

             (2)执行svn info就会发现已经显示在branch下边了,本地目录还是trunk,这个时候的修改提交都是提交到自己的branch

             (3) 查看branch 从trunk copy 出来的时间日志,找到版本号:svn log --stop-on-copy

             (4)定期从trunk merge 到 branch代码, svn merge ​svn://utils/trunk@478 ​svn://utils/trunk   (这一步其实直接提交就行了把?????)

             (5)最终svn ci到branch中。在提交代码前,一定要确认是在trunk下边还是branch下边

3  打tag.   进行开发、自测,自测通过后打tag提测 

                打tag之前应该:(1)

                (1)svn copy ​​svn://utils/branches/branch_xiaoming ​svn://utils/tags/tag_2.1.2

                (2)注:版本号命名参照版本号命名规范

4  merge到trunk.    测试通过后,merge到trunk,在merge的时候一定要update一下trunk,得到最新的代码。以免把别人的修改给污染了。如果你和别人开发的功能有冲突,那么在merge时小心一些,最好和对方一起确认一下一般就可以了,进行简单的回归测试。(第一种方法:svn的branch merge到svn的trunk上。比较危险?

第二种方法:下载新的代码,然后本地merge branch和trunk 到trunk中,之后再提交)

四 图示

branch

/           |

/             |(1)每天merge trunk到branch

/               |

2)开发结束自测后打tag     trunk

\     /        |

/  \         |3)tag经测试人员测试后,生成trunk

/          \      |

4)trunk 中打milestone     tags(供测试使用)

\                   |

\                |

\            |

milestone(上线版本)

SVN简单流程---以公司的使用方法为例的更多相关文章

  1. SVN简单流程总结

    1   创建仓库 2   启动svn服务器 svnserve -d -r 仓库地址(如:D:\SVN\repoDemo1) 3   新的用户第一次与服务器交互时,需要使用checkout将仓库检出到本 ...

  2. 【转】用CornerStone配置SVN,HTTP及svn简单使用说明

    已经安装了的小伙伴请直接看三步骤 一.下载地址 CornerStoneV2.6:http://pan.baidu.com/s/1qWEsEbM密码:www.macx.cn 二.安装破解方法 1.安装之 ...

  3. 用CornerStone配置SVN,HTTP及svn简单使用说明

    转载 http://my.oschina.net/joanfen/blog/194491 一.下载地址 CornerStoneV2.6:http://pan.baidu.com/s/1qWEsEbM密 ...

  4. ETL流程概述及常用实现方法

    ETL流程概述及常用实现方法 http://blog.csdn.net/btkuangxp/article/details/48224187 目录(?)[-] 1抽取作业 1手工开发抽取作业时候的常用 ...

  5. CornerStone配置SVN,HTTP及SVN简单使用说明

    本文转载至 http://blog.csdn.net/allison162004/article/details/38796857 已经安装了的小伙伴请直接看三步骤 一.下载地址 CornerSton ...

  6. git分布式版本控制系统权威指南学习笔记(一):配置文件、简单流程和小问题

    文章目录 git配置文件简介 git config各种命令 配置级别: 用户信息 文本编辑器 差异分析工具 配置命令别名 公钥 git协同流程 简单流程 初始化版本库 提交至缓存区 查看状态 提交分支 ...

  7. MVC学习一:MVC简单流程

    MVC学习一:MVC初次接触 1.MVC简单流程 1.1.服务器接收客户端请求后,解析URL(根据 路由表里配置的URL来分析 类名(控制器名)和方法名)根据请求的类名,创建对应的控制器类对象,并调用 ...

  8. django入门 -- 简单流程

    django入门 -- 简单流程 简介 通过简单示例,使用django完成基本流程的开发,学习django的主要的知识点,在后续课程中会逐个知识点进行深入讲解 以“图书-英雄”管理为示例 主要知识点介 ...

  9. 从svn资源库目录checkout出maven项目方法

    从svn资源库目录checkout出maven项目方法,如下图所示:

随机推荐

  1. CodeForces 719A Vitya in the Countryside 思维题

    题目大意:月亮从0到15,15下面是0.循环往复.给出n个数字,如果下一个数字大于第n个数字输出UP,小于输出DOWN,无法确定输出-1. 题目思路:给出0则一定是UP,给出15一定是DOWN,给出其 ...

  2. 10款超酷实用的jQuery焦点图赏析及源码

    1.jquery整屏滚动插件Scrollify Scrollify是一个jQuery插件协助整屏滚动和顺利拍摄部分.完全可配置和优化. 在线演示 源码下载 2.jquery实现网易邮箱页面插件full ...

  3. 【转】使用ThinkPHP必须掌握的调试方法

    经常看到有人问到findAll的返回数据类型是什么之类的问题,以及出错了不知道什么原因的情况,其实还是没有熟悉ThinkPHP内置的调试手段和方法,抛开IDE本身自带的调试方式不说,如果你正在用或者打 ...

  4. javascript语句语义大全(3)

    1. for(var i=0;i<10;i++){ } for循环,括号里面是循环条件,翻译过来是,初始设定1=0:没循环一次i会+1,直到i<10 2. var i=0: while(i ...

  5. Linux学习 -- 系统管理

    1 进程管理 判断服务器健康状态 top [选项] 查看系统中所有进程 ps aux      BSD格式 ps -le        Linux格式 pstree [选项] -p   显示PID - ...

  6. CodeForces 670 A. Holidays(模拟)

    Description On the planet Mars a year lasts exactly n days (there are no leap years on Mars). But Ma ...

  7. 转:Selenium2.0 click()不生效的解决办法

    除了http://573301735.com/?p=5126讲的,昨天又发现一个让我1个小时生不如死的问题,就是使用两个不同的配置文件来初始化driver,findelement方法获取到的坐标居然不 ...

  8. HDU 3265 Posters ——(线段树+扫描线)

    第一次做扫描线,然后使我对线段树的理解发生了动摇= =..这个pushup写的有点神奇.代码如下: #include <stdio.h> #include <algorithm> ...

  9. EnglishWords----1

    upon在...上面 upright垂直的,直立的 upward向上的 outward外面的,向外的 downward向下的 vertical垂直的 parallel平行的 sow播种 cut切 ch ...

  10. 第13章 Swing程序设计----常用面板

    面板也是一个Swing容器,它可以作为容器容纳其他组件,但它也必须被添加到其他容器中. Swing常用的面板包括JPanel面板和JScrollPanel面板. 1.JPanel面板 import j ...