SVN分支管理最佳策略

SVN分支管理最佳策略

[ 2014-08-29 20:41 | 浏览次数:  1,817次  | 0条评论 ]

现在网上git的分支管理最佳策略最好查找, 基本上都趋同于一个.

由nvie建议的git branching model.

地址: http://nvie.com/posts/a-successful-git-branching-model/

SVN分支管理最佳策略_第1张图片

Nvie画的这张图基本上把策略显示出来了.

稍微介绍一下分支:

Master: 主分支(分支名字:”master”)。所有提供给用户使用的正式版本,都在这个主分支上发布。且每个版本都会打一个tag( tag名字例: “0.1”,”0.2”,”EMC-0.1”,… )

Develop: 开发分支(分支名字:”develop”),所有最新的代码都应该在这里.

Feature branch:功能分支(分支名字例:”myfeature”,”log”,”view_version”,…), 用于开发某个功能,比如添加log或者查看版本信息等功能,某个功能开发完毕后把代码合并回develop分支并且删除此功能分支. 此分支一般只创建在本地,不用同步到服务器. 不过如果你的代码只要几天就完成,一般没必要另起一个分支,直接在develop分支上修改,改完后提交就可以了.

Release branches: 预发布分支(分支名字例: “release-0.1”, “release-0.2”,”EMC-release-0.1”,…), 用于在发布正式版本之前,可能需要有一个预发布的版本进行测试。在测试中发现的bug全部修正在此分支.修正完毕后将代码merge到develop和master分支,然后可以删除此分支.

Hotfix branches: 修补bug分支(分支名字例:”hotfix-1.2.1”,”hotfix-1.3.1”,”EMC-hotfix-1.4.1”, 其中的版本号为下个发布版本的版本号), 用于在正式发布版本上发现了bug,需要修复在小版本号上,这时可以从mast分支中拉出一条分支来修正bug,修正完毕后将修改merge回master和develop,然后删除此分支.

虽然目前git很火,但是SVN还是有很多优点,完全适用于一些小团队.

Git需要打很多命令,分支需要经常换来换去,有时还忘了把代码同步到服务器上,没有一个全局版本号.

SVN基本上不需要打命令,所有的文件全都提交到服务器上,不会忘了提交,最好的一个特点就是全局版本号.

那SVN分支管理有什么最佳策略呢?

我给出我的建议:

SVN分支管理最佳策略_第2张图片

 

其中

Trunk: 主开发分支,所有最新的代码都在这里

Tags: 一个里程碑版本(名字:”1.0”,”1.1”,”2.1”,”EMC-1.0”,”EMC-1.1”,”OEM-1.0”…),用于存放发布的版本

Bugfix branch: 修正bug的分支(名字:”bugfix-1.x”,” EMC-bugfix-1.x”, “OEM-bugfix-1.x”),一般从某个tag拉出来,用于解决这个大版本的所有bug

Customize function dev branch: 特殊需求的开发分支(名字:”OEM-dev”,”Japan-dev”,…),用于为某个客户的特殊需求开发一个版本,

你可能感兴趣的:(SVN分支管理最佳策略)