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项目方法,如下图所示:
随机推荐
- @property(nonatomic) UIViewAutoresizing autoresizingMask;
在 UIView 中有一个autoresizingMask的属性,它对应的是一个枚举的值(如下),属性的意思就是自动调整子控件与父控件中间的位置,宽高. 1 2 3 4 5 6 7 8 9 enum ...
- 图像操作相关 With Quartz 2D
本文将为大家介绍常见的IOS图像处理操作包括以下四部分:旋转,缩放,裁剪以及像素和UIImage之间的转化,主要使用的知识是quartz2D.Quartz2D是CoreGraphics框架中的一个重要 ...
- mysql中的substr()函数
mysql中的substr()函数和hibernate的substr()参数都一样,就是含义有所不同. 用法: substr(string string,num start,num length); ...
- Android开发10.2:UI组件AutoCompleteTextView(自动完成文本框)
概述 AutoCompleteTextVeiw(自动完成文本框)从 EditText派生而出 PS :EditText用法介绍 当用户输入一定字符后,自动完成自动完成文本框会显示 ...
- java 文件字节输入流
Example10_4.java import java.io.*; public class Example10_4 { public static void main(String args[]) ...
- Python基础学习1---函数
Python函数篇 函数是重用的程序选, 他们允许给一块语句一个名称,然后可以在你的程序的任何地方是使用这个名称任意多次地运行这个语句块.这个就被称为 调用 函数.比如内建了很多高效的函数 如len ...
- UVALive 6885 Flowery Trails
两次SPFA #include<cstdio> #include<cstring> #include<cmath> #include<vector> # ...
- 安装apk时出现错误Failure [INSTALL_FAILED_DEXOPT]问题解决的方法
在android4.0源码里面编译出来apk后,用adb install (或adb install -r 重装)安装时,报错[INSTALL_FAILED_DEXOPT]. xu@xu-PC:~$ ...
- 转 :Oracle分区表 (Partition Table) 的创建及管理
三.删除分区 You can drop partitions from range, list, or composite range-list partitioned tables. ALTER T ...
- 【栈】 poj 1363
poj1363,这道题是数据结构与算法中的经典问题,给定一组进栈顺序,问栈有多少种出去的顺序. #include<stdio.h> #include <stack> #incl ...