产品研发管理(二):使用SubVersion进行代码管理
概述
这是产品研发管理系列文章的第二篇:使用SubVersion进行代码管理。
介绍如何使用SubVersion的资料已经许多,这里不准备介绍如何使用SubVersion。
这篇文章主要介绍如何进行代码版本号管理。
使用SubVersion进行代码管理
- 时间区间(1)
- (1)的起始时间是3.0开发的開始。
- 在(1)期间。没有不论什么用户使用3.0(由于它还没有公布)。所以全部开发者直接在3.0Trunk上开发。
- (1)的结束时间是3.0开发的结束时间。结束时公布3.0产品,在SVN上创建3.0 Tag。同一时候创建3.1 F000 Branch。这时3.0 Trunk自己主动变成3.1 Trunk。
- 时间区间(2)
- (2)的起始时间是3.1开发的開始。
- 在(2)期间,由于開始实用户安装使用3.0,所以3.1全部开发者的开发工作在3.1 F000 Branch上进行。
- 假设在(2)期间,用户报告3.0的Bug。而且须要立即修复。那么:
- 在3.1 Trunk上对问题进行修复,而且公布补丁包。
- 将此修改合并到3.1 F000 Branch上。
- (2)的结束时间是3.1 F000开发的结束时间。
结束时公布3.1 F000产品。此时做下面事情:
- 合并代码之前,在3.1 Trunk上建立Tag。如:3.0 20150601。用来表示将3.1 F000合并进来之前的代码。
- 将3.1 F000 Branch的代码合并到3.1 Trunk上。而且锁定3.1 F000代码避免不论什么进一步的修改。
- 从3.1 Trunk上创建3.1 M010 Branch。用于进行3.1 M010的开发。
- 时间区间(3)。(4),(5)和(6)
- 基本和时间区间(2)一样。
- (5)是3.2的開始。
注:
1. (5)是3.2的開始。它和(3),(4)的操作方式没有根本的差别,但有些细小的区分,主要是安排不同类型的修改。
一般我们把相对大的功能/修改放到一个新的版本号里边。(3)和(4)作为(2)的升级,主要负责修复3.1的Bug和小功能的改进。把相对大一点的功能或者相对底层的修改放在3.2里边,也就是(5)里边。
2. 究竟有多少个M0X0,由产品经理依据用户反馈的问题和待开发的需求列表决定。
3. 在一个迭代周期開始前,需求都搜集到位。我们使用的迭代周期是2个月。包含需求讨论、设计开发、測试。
注意事项
依据我们使用下来的情况。有下面注意事项:
- 假设修复Bug。能够在Trunk或者Branch上做,可是一定要使用SubVersion的合并功能,而不是在Trunk和Branch上分别改两遍。假设改两遍。造成的结果是在要将Branch合并到Trunk上出现冲突。
- 不是不论什么时候都适合进行不论什么类型的修改。
比方有些核心数据结构的变动,将它放在小版本号升级后的第一个迭代进行。这样的大的修改得找时机,避免对用户造成升级困难。或者用户须要又一次装载全部数据。
- 在迭代开发结束是在Branch上做公布的;可是维护是将Branch的代码合并到Trunk后,在Trunk上维护。合并代码的时候须要很小心。保证Branch上的代码和合并以后Trunk的代码一样很关键。假设不一样会造成这样的情况:第一个从Branch上公布的产品没有问题;后来为了修复一个Bug,从Trunk上公布一个补丁包后。出现了第一个公布没有出现的问题。
$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = $('
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i ').text(i));
};
$numbering.fadeIn(1700);
});
});
产品研发管理(二):使用SubVersion进行代码管理的更多相关文章
- redmine一键安装(项目管理、Bug管理、任务跟踪、代码管理、日报等等)
1,下载一键安装包(64位系统) https://bitnami.com/stack/redmine 2,帮助文档(安装引导) http://www.360doc.com/content/15/033 ...
- svn(subversion)代码管理
想必大家现在都比较喜欢使用svn(subversion)完成代码管理了,因为它的开源,轻巧,易用.但是这样一个宝贝如果不知道其正确的用法,也会让我们百思不得其解,甚至耽误项目进度,浪费程序员的心血和结 ...
- 小团队产品研发管理V0.0.1
序言 之前做研发的时候非常鄙视管理,觉得管理的那些人就知道搞政治,后来做了开发主管,以及到部门经理之后,管的人多了发现管理真是门大学问,真的应该每个人都要学习一些基本管理知识,特别是刚入社会的打工人. ...
- 代码管理工具 --- git的学习笔记二《git的工作原理》
通过几个问题来学习代码管理工具之git 一.git是什么?为什么要用它?使用它的好处?它与svn的区别,在Mac上,比较好用的git图形界面客户端有 git 是分布式的代码管理工具,使用它是因为,它便 ...
- 使用Subversion进行源代码管理(二):创建和发布版本库[转]
原文出处: http://www.blogjava.net/youxia/archive/2007/10/23/155372.html 我的上一篇随笔讲了怎么使用Subversion客户端去连接服务器 ...
- Python核心技术与实战——二一|巧用上下文管理器和with语句精简代码
我们在Python中对于with的语句应该是不陌生的,特别是在文件的输入输出操作中,那在具体的使用过程中,是有什么引伸的含义呢?与之密切相关的上下文管理器(context manager)又是什么呢? ...
- 产品研发团队如何融合OKR与Scrum敏捷开发?
「 OKR 」现在非常的火爆,很多公司都在使用,不仅国外的 Google.英特尔等大公司在用,国内的一线知名互联网企业今日头条和一些创业团队也都在使用. 那为什么「 OKR 」这么受欢迎呢,因为把它可 ...
- IOS-源代码管理工具(SVN)
一.使用环境 要想利用SVN管理源代码,必须得有2套环境 服务器 用于存储客户端上传的源代码 可以在Windows上安装Visual SVN Server 大部分情况下,公司的开发人员不必亲自搭建SV ...
- 代码管理工具 Git
之前一直使用微软的代码管理工具TFS(Team Foundation Server)..NET CORE 2.0的发布后,考虑到.NET CORE项目可以跨平台,准备把项目迁移到.NET CORE 环 ...
随机推荐
- 史考特证券(Scottrade)填写提款申请表的要求以及注意事项
史考特证券(Scottrade)填写申领表的要求以及注意事项. 需要注意的几点: 1. 史考特账户名称 就是你的名字,例如 San Zhang 2. 账户居住地址,就是你开户申请时候填写的地址, 你也 ...
- javaweb部署多个项目(复制的项目)
最近需要在一台服务器部署两个已经编译完了的javaweb项目,但是因为项目名一样,仅修改文件夹的名字无法实现两个项目共存,最后只能考虑采用部署多个tomcat服务器的方法来实现.搜索后终于找到个好方法 ...
- 北京地铁换乘算法(二维坐标系,图的深度搜索)开源下载Android源码、性能最优解
距离2012年11月2日下午2:05:31 已经过去158751270这么多秒了,不小心暴露了我的当前时间. java代码贴出来. private static long gettimelong() ...
- 2 将mybatis配置到springmvc中
为了更方便的连接数据库,将mybatis配置到springMVC中 1). 首先是jar包 多了3个jar druid 这个是阿里的数据库连接包 mybatis和 mybatis- ...
- C语言函数与程序结构
title : C语言函数与程序结构 tags : C语言作用域规则 , 外部变量 ,静态变量 ,寄存器变量,宏定义 grammar_cjkRuby: true --- 外部变量 变量声明用于说明变量 ...
- [转载] Netty源码分析
转载自http://blog.csdn.net/kobejayandy/article/details/11836813 Netty提供异步的.事件驱动的网络应用程序框架和工具,用以快速开发高性能.高 ...
- ASP.NET Core 认证与授权[6]:授权策略是怎么执行的?
在上一章中,详细介绍了 ASP.NET Core 中的授权策略,在需要授权时,只需要在对应的Controler或者Action上面打上[Authorize]特性,并指定要执行的策略名称即可,但是,授权 ...
- [DP]P2890 [USACO07OPEN]便宜的回文Cheapest Palindrome
题目翻译(借鉴自@ 神犇的蒟蒻) [问题描述] 追踪每头奶牛的去向是一件棘手的任务,为此农夫约翰安装了一套自动系统.他在每头牛身 上安装了一个电子身份标签,当奶牛通过扫描器的时候,系统可以读取奶牛的身 ...
- Shodan在渗透测试及漏洞挖掘中的一些用法
渗透测试中,第一阶段就是信息搜集,这一阶段完成的如何决定了你之后的进行是否顺利,是否更容易.而关于信息收集的文章网上也是有太多.今天我们来通过一些例子来讲解如何正确使用Shodan这一利器. 想要利用 ...
- JavaScript学习心得
javaScript十分的强大,所以自然而然学起来也是不易的,想要掌握它的核心,把它理解透更是不易的,但只要你能够静下心来,耐心的去钻研,学习,还是可以把它给学好的,加油吧! 下面是一些JavaScr ...