产品研发管理(二):使用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上发布一个补丁包后,出现了第一个发布没有出现的问题。
时间: 2024-12-14 18:53:51

产品研发管理(二):使用SubVersion进行代码管理的相关文章

android产品研发(二十一)-->UI优化

转载请标明出处:一片枫叶的专栏 上一篇文章中我们讲解了android产品研发过程中的代码Review.通过代码Review能够提高产品质量,增强团队成员之间的沟通,提高开发效率,所以良好的产品开发迭代过程中,代码Review是一个必不可少的步骤.那么如何进行代码Review呢?我们主要讲解了团队成员之间的代码Review,代码lint检查,开发规范等方面的知识点,更多关于代码Review相关的知识可参考我的:android产品研发(二十)–>代码Review 本文我们将讲解一下android U

android产品研发(二十二)-->android实用调试技巧

转载请标明出处:一片枫叶的专栏 上一篇文章中我们讲解了android UI优化方面的知识.我们讲解了android中的include.marge.ViewStub标签,在使用这些标签时可以简化我们的布局文件,优化组件绘制流程:讲解了android中的过度绘制相关知识点,通过优化我们的App过度绘制可以提高App的UI绘制流程与性能:我们还讲解了App中一些UI优化的小tips.更多关于android UI优化方面的知识可以参考我的:android产品研发(二十一)–>android中的UI优化

git 在windows下的应用(二) - 远程仓库代码管理

克隆远程git 目录 https://github.com/pcdogyu/git4windows.git 克隆下来了 生成1.txt scan stage signoff commit 2次提交记录 推送到远程地址 完成了 还没来得及去网页呢,就收到系统提示邮件 网页查看1.txt已经提交上去了 对于将远程版本库上的修改同步到本地,Git提供了2种命令来完成此功能,分别是fetch和pull.先来讲讲fetch: git fetch https://github.com/pcdogyu/git

svn(subversion)代码管理

想必大家现在都比较喜欢使用svn(subversion)完成代码管理了,因为它的开源,轻巧,易用.但是这样一个宝贝如果不知道其正确的用法,也会让我们百思不得其解,甚至耽误项目进度,浪费程序员的心血和结晶.   下面就我们在外事项目中使用SVN的经验简单做个说明.   如何正确提交代码?   可能很多人用过微软的VISUAL SOURCESAFE 或者 Team Foundation Server,就认为那还不简单,checkout/checkin 不就完了吗.孰不知由于SVN采用了另一种源代码管

android产品研发(十二)-->App长连接实现

转载请标明出处:一片枫叶的专栏 上一篇文章中我们讲解了android应用内页面跳转协议-scheme协议,通过该协议我们可以跳转至指定的Activity,并在该Activity中解析scheme用于跳转到指定的页面,我们可以利用scheme协议实现应用内页面跳转.H5页面与Native页面相互跳转.通知栏消息跳转相应页面等,具体可参考:android产品研发(十一)–>使用scheme实现页面跳转. 而本文中我们将讲解一下App的长连接实现.一般而言长连接已经是App的标配了,推送功能的实现基础

android产品研发(十三)-->App轮训操作

转载请标明出处:一片枫叶的专栏 上一篇文章中我们讲解了android app实现长连接的几种方式,各自的优缺点以及具体的实现,一般而言使用第三方的推送服务已经可以满足了基本的业务需求,当然了若是对技术有追求的可以通过NIO或者是MINA实现自身的长连接服务,但是自己实现的长连接服务一来比较复杂耗时比较多,而且可能过程中有许多坑要填,一般而言推荐使用第三方的推送服务,稳定简单,具体管理长连接部分的模块可参考:android产品研发(十二)–>App长连接实现. 而本文将讲解app端的轮训请求服务,

android产品研发(十六)-->开发者选项

转载请标明出处:一片枫叶的专栏 上一篇文章中我们讲解了android中内存对象的序列化方式.由于android开发涉及到不同Activity的数据传递,对于基本数据类型数据的传递是没有问题的,但是一旦涉及到复杂数据类型,就需要将数据序列化以便传输,在文章中我们主要讲解了两种数据序列化的方式:实现Serializable接口和实现Parcelable接口,同时也比较了它们各自的优缺点和实现方式.具体关于内存对象序列化方面的知识可参考:android产品研发(十五)–>内存对象序列化 本文主要介绍A

android产品研发(七)-->Apk热修复

转载请标明出处:一片枫叶的专栏 去年一整年android社区中刮过了一阵热修复的风,各大厂商,逼格大牛纷纷开源了热修复框架,恩,产品过程中怎么可能没有bug呢?重新打包上线?成本太高用户体验也不好,咋办?上热修复呗. 好吧,既然要开始上热修复的功能,那么就得调研一下热修复的原理.下面我将分别讲述一下热修复的原理,各大热修复框架的比较,以及自身产品中热修复功能的实践. 热修复的原理 通过更改dex加载顺序实现热修复 最新github上开源了很多热补丁动态修复框架,大致有: HotFix      

android产品研发(六)-->Apk混淆

前面一篇文章中我们讲解了android里面的多渠道打包,对于大型的app来说,几百个上千个渠道包都是很正常的事,所以效率定制化是一件很重要的事.主要讲解了三种多渠道打包方式,并分析了其各自的利弊,在各自产品多渠道打包的时候,可以根据自身的产品需求选择相应的打包方式. 而本文主要讲解Apk的混淆,这里的混淆分为两种代码混淆和资源文件混淆.实际的产品研发中为了防止自己的劳动成果被别人窃取,混淆代码能有效防止apk文件被反编译,进而查看源代码.说来惭愧,作为互联网创业公司的我们也确实对竞品Apk反编译