SVN简单流程---以公司的使用方法为例
一 名词解释
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简单流程---以公司的使用方法为例的更多相关文章
- SVN简单流程总结
1 创建仓库 2 启动svn服务器 svnserve -d -r 仓库地址(如:D:\SVN\repoDemo1) 3 新的用户第一次与服务器交互时,需要使用checkout将仓库检出到本 ...
- 【转】用CornerStone配置SVN,HTTP及svn简单使用说明
已经安装了的小伙伴请直接看三步骤 一.下载地址 CornerStoneV2.6:http://pan.baidu.com/s/1qWEsEbM密码:www.macx.cn 二.安装破解方法 1.安装之 ...
- 用CornerStone配置SVN,HTTP及svn简单使用说明
转载 http://my.oschina.net/joanfen/blog/194491 一.下载地址 CornerStoneV2.6:http://pan.baidu.com/s/1qWEsEbM密 ...
- ETL流程概述及常用实现方法
ETL流程概述及常用实现方法 http://blog.csdn.net/btkuangxp/article/details/48224187 目录(?)[-] 1抽取作业 1手工开发抽取作业时候的常用 ...
- CornerStone配置SVN,HTTP及SVN简单使用说明
本文转载至 http://blog.csdn.net/allison162004/article/details/38796857 已经安装了的小伙伴请直接看三步骤 一.下载地址 CornerSton ...
- git分布式版本控制系统权威指南学习笔记(一):配置文件、简单流程和小问题
文章目录 git配置文件简介 git config各种命令 配置级别: 用户信息 文本编辑器 差异分析工具 配置命令别名 公钥 git协同流程 简单流程 初始化版本库 提交至缓存区 查看状态 提交分支 ...
- MVC学习一:MVC简单流程
MVC学习一:MVC初次接触 1.MVC简单流程 1.1.服务器接收客户端请求后,解析URL(根据 路由表里配置的URL来分析 类名(控制器名)和方法名)根据请求的类名,创建对应的控制器类对象,并调用 ...
- django入门 -- 简单流程
django入门 -- 简单流程 简介 通过简单示例,使用django完成基本流程的开发,学习django的主要的知识点,在后续课程中会逐个知识点进行深入讲解 以“图书-英雄”管理为示例 主要知识点介 ...
- 从svn资源库目录checkout出maven项目方法
从svn资源库目录checkout出maven项目方法,如下图所示:
随机推荐
- UIActivityIndicatorView的详细使用(加载菊花)
UIActivityIndicatorView实例提供轻型视图,这些视图显示一个标准的旋转进度轮.当使用这些视图时,最重要的一个关键词是小.20×20像素是大多数指示器样式获得最清楚显示效果的大小.只 ...
- 【转】从1到N这N个数中1的出现了多少次?
给定一个十进制整数N,求出从1到N的所有整数中出现"1"的个数. 例如:N=2,1,2出现了1个"1". N=12,1,2,3,4,5,6,7,8,9,10,1 ...
- 华哥倒酒<区间标记,二分>
题目链接 #include<cstdio> #include<cstring> #include<algorithm> using namespace std; t ...
- iOS 开发中的各种证书
公钥和私钥 转载自:http://www.samirchen.com/ios-certificates/ 先简单的介绍一下公钥和私钥.我们常见的加密算法有两类:对称加密算法(Symmetric Cry ...
- js入门实例
<!DOCTYPE html> <html> <body> <h1>My First Web Page</h1> <p>My F ...
- const与static的区别
const就是只读的意思,只在声明中使用;const修饰的数据类型是指常类型,常类型的变量或对象的值是不能被更新的. const的作用: (1)可以定义const常量,具有不可变性. (2)便于进行类 ...
- java 类与对象
class XiyoujiRenwu { float height,weight; String head, ear; void speak(String s) { System.out.printl ...
- Android Studio的使用(九)--设置IDE编码格式
1.打开设置 2.勾选编码格式,在这里可以设置分别设置IDE.Project.File等级别的编码格式. 3.查看.修改各个文件的编码 4.当右击编辑界面时,可以直接设置当前文件的编码
- 改写BlogEngine.NET头像上传实现方式(使用baidu.flash.avatarMaker)
baidu.flash.avatarMaker 需要资源文件和javascript类库: 1 2 3 4 5 6 7 需要应用的script library: <scriptsrc=" ...
- 剑指offer 复杂链表的复制 (有向图的复制)
时间复杂度O(3N) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 ...