SVN简单流程---以公司的使用方法为例

时间:2022-02-15 19:56:45

一  名词解释

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. SharePoint 2013 网站搜索规则的使用示例

    前言 SharePoint 2013搜索中,有一个非常好用的细化搜索结果的功能,就是“查询规则”.可以通过对于某些特定查询时,起到细化显示结果的作用.下面,我们简单的介绍一下该功能的使用和效果. 1. ...

  2. 调用天气Api实现天气查询

    上面是简单截图: 前台代码: @{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name=&qu ...

  3. iOS中tableView组头部或尾部标题的设置

    解决在tableView返回组标题直接返回字符串,带来的不便设置组标题样式的问题解决办法,设置尾部标题和此类似  // 返回组头部view的高度 - (CGFloat)tableView:(UITab ...

  4. 大型三甲医院管理系统源码PACS超声科室源码DICOM影像工作站

    详情点击查看 开发环境 :VS2008 + C# + SQL2000 功能简介 1.患者登记工作站 集中登记患者基本信息和检查信息,包括就诊方式.患者来源.检查类型.检查部位.申请科室.申请医生等.可 ...

  5. C&num; 中删除控件的事件的方法类

    方法一: 代码 /// <summary> /// 删除指定控件的指定事件 /// </summary> /// <param name="control&qu ...

  6. PE病毒初探——向exe注入代码

    PE文件其实就是Windows可执行文件,关于它的一些简要介绍摘自百度: PE文件被称为可移植的执行体是Portable Execute的全称,常见的EXE.DLL.OCX.SYS.COM都是PE文件 ...

  7. HTML学习笔记CSS

    类选择器和ID选择器的区别 1id只能用一回,类可以循环使用 2可以使用类选择器词列表方法为一个元素同时设置多个样式.我们可以为一个元素同时设多个样式,但只可以用类选择器的方法实现,ID选择器是不可以 ...

  8. Python中的None与Null(空字符)的区别

    参考自 Python中的None与空字符(NULL)的区别 - CSDN博客 http://blog.csdn.net/crisschan/article/details/70312764 首先了解p ...

  9. 设置请求timeout超时

    import requests r = requests.get("http://www.cnblogs.com/yoyoketang/", timeout=1) # 设置超时 p ...

  10. Distinct Values&lpar;贪心&rpar;

    问题 D: Distinct Values 时间限制: 1 Sec  内存限制: 128 MB提交: 13  解决: 5[提交] [状态] [讨论版] [命题人:admin] 题目描述 Chiaki ...