trunk、branches、tags简介

trunkbranchestags简介

       Subversion有一个很标准的目录结构,是这样的。比如项目是projsvn地址为svn://proj/,那么标准的svn布局是svn://proj/|+-trunk+-branches+-tags

        trunk:表示开发时版本存放的目录,即在开发阶段的代码都提交到该目录上。

        branches:一些阶段性的release版本,这些版本是可以继续进行开发和维护的,则放在branches目录中。又比如为不同用户客制化的版本,也可以放在分支中进行开发。

        tagstags目录一般是只读的,这里存储阶段性的发布版本,只是作为一个里程碑的版本进行存档。

SVN开发流程

       对于这几个开发目录,一般使用trunk作为主要的开发目录,我们的所有的开发都是基于trunk进行开发,当一个版本/release开发告一段落(开发、测试、文档、制作安装程序、打包等)结束后,代码处于冻结状态(人为规定,可以通过hook来进行管理)。此时应该基于当前冻结的代码库,打tag。当下一个版本/阶段的开发任务开始,继续在trunk进行开发。

        此时,如果发现了上一个已发行版本(Released Version)有一些bug,或者一些很急迫的功能要求,而正在开发的版本(Developing Version)无法满足时间要求,这时候就需要在上一个版本上进行修改了。应该基于发行版对应的tag,做相应的分支(branch)进行开发。开发完成之后基于这个branch做tag,最后根据需要是否将该tag并入trunk。

SVN开发流程样例

        比如,abc 开发完成,做一个tag(tag_abc_release_1.0),然后基于这个tag做release,比如安装程序等。trunk进入下一个任务的开发,这个时候发现了bug,那么就需要基于tag_abc_release_1.0做一个branch(branch_abc_bugfix_1.0),基于这个branch进行bugfix,等到bugfix结束,做一个tag(tag_abc_release_1.1),然后,根据需要决定branch_abc_bugfix_1.0是否并入trunk。

具体需求分析
有一天,突然在trunk下的core中发现一个致命的bug,那么所有的branches一定也不一样了,该怎么办?
方法:
在工作目录下右键trunk文件夹,选择Merge功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值