为了账号安全,请及时绑定邮箱和手机立即绑定

修复bug和开发新需求如何控制版本?

修复bug和开发新需求如何控制版本?

qq_遁去的一_1 2018-07-24 09:12:28
这个项目是一个winform程序,已经发布了正式版本(2.0),现在根据使用反馈开发3.0版本,涉及到功能界面的修改,也已经改到一半了;但是突然之间客户正在使用的版本(2.0)爆出了bug,要紧急修改发布,但是不能把现在修改到一半的版本发布出去。请问,一般是怎么控制版本来避免这种情况?
查看完整描述

2 回答

?
红糖糍粑

TA贡献1815条经验 获得超6个赞

不知道楼主是不是使用SVN做源代码管理,其它代码管理工具应该可以使用下面的策略。

目标,要求

         本次svn提交规范主要针对当前项目中出现的svn管理难,开发流程控制难掌控,项目进度记录不准确等问题而提出。要求每个角色都要进行规范化svn作业。

目录结构与开发模式

分散式分支开发模式原理

         Svn://project/

                                               +trunk/(主开发目录)

                                               +branches/(分支开发目录)

                                                                                    +dev_1.0_function1(功能性分支1)

                                                                                    +dev_2.0_function2(功能性分支2)

                                                                                    …

                                               +tags(存档目录,不允许修改)

a)     1.0的开发,做一个dev_1.0的功能性分支

Svn://project/                                                                  

                                               +trunk/(不承担开发任务)

                                               +branches/

                                                                                    +dev_1.0_function1

                                               +tags

b)     1.0功能开发完成,合并分支到主干

Svn://project/                                                                  

                                               +trunk/(merge from branch dev_1.0_function1)

                                               +branches/

                                                                                    +dev_1.0_function1(开发任务结束,冻结)

                                               +tags

c)      测试完成,根据主干做一次1.0的tag

Svn://project/                                                                  

                                               +trunk/(merge from branch dev_1.0_function1)

                                               +branches/

                                                                                    +dev_1.0_function1(开发任务结束,冻结)

                                               +tags

                                                                                    +tag_release_1.0(copy from trunk)

d)     1.0版本结束,做下一个版本的开发2.0

Svn://project/                                                                  

                                               +trunk/(merge from branch dev_1.0_function1)

                                               +branches/

                                                                                    +dev_1.0_function1(开发任务结束,冻结)

                                                                                    +dev_2.0_function2(2.0的开发)

                                               +tags

                                                                                    +tag_release_1.0(copy from trunk)

e)     1.0版本出现bug,直接在dev_1.0版本上修复

Svn://project/                                                                  

                                               +trunk/(merge from branch dev_1.0_function1)

                                               +branches/

                                                                                    +dev_1.0_function1(bugfix)

                                                                                    +dev_2.0_function2(2.0的开发)

                                               +tags

                                                                                    +tag_release_1.0(copy from trunk)

f)       选择性的进行代码合并

使用规范

命名规范

         分支名称采用固定名称与下划线结合方式进行功能性分支描述如:dev_1.0_crm。

存档名称统一采用tag_release_版本的方式。

提交规范


原文地址:

http://www.cnblogs.com/BraveCheng/archive/2012/07/02/2573617.html


查看完整回答
反对 回复 2018-07-30
?
蓝山帝景

TA贡献1843条经验 获得超7个赞

弄两套 版本控制,一套的话肯定不行。

查看完整回答
反对 回复 2018-07-30
  • 2 回答
  • 0 关注
  • 688 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信