svn分支以及分支合并
分支开发流程
1 什么是分支?
当每一版本发出前,又需要进行新功能开发,即从当前主线copy一份和主线一样的代码仓,在不影响主线功能的前提下,开发新功能。
Copy出来的新代码仓即为分支Branch,原代码仓即为主线Trunk。
当建立的Branch功能不是开发新功能,而是稳定代码时,称为Tag。
新功能开发完后,需再手动由分支合并(merge)到主线.。
任何情况下,版本发布时,编译apk源码均已主线为准。
同一个功能(feature),不推荐同时存在2个以上的分支。
2 建立分支(Branch)
选中原工程目录,选择SVN ->Branch/tag
To path统一到/dev/VPayBranch下
一般不建议使用working copy创建分支
2.3 创建成功后,切换到/dev/VPayBranch目录svn update。
3 合并分支到主线
3.1 选中主线(to)目录,选择SVN -> Marge
3.2 选择如下图
选择分支的SVN路径,选择需要合并的版本号(shift多选)
合并
使用Test merge test,点击merge确认修改.
3.3 在主线目录查看merge的修改是否正确。
简单修改建议使用svn的commit对比(不提交)。
复杂修改推荐二进制文件对比工具。
3.4 在主线commit(提交)代码。
4 同步主线到分支
2的逆向操作即可
合并主线
5 废弃分支
选择 SVN -> Repo-browser 找到对应目录删除即可
此操作无法恢复,请谨慎操作。
只能在Branch目录操作,trunk目录禁止此操作。
6 Eclipse引入同名project
Eclipse在同一个workspace中是无法打开2个包名相同的工程的。
所以,为了能同时修改主线和分支的代码需要一些特殊的技巧。
打开工程目录下.project文件,修改其name属性即可。
7 其他
7.1 文件对比工具
推荐Beyond Compare,用于批量对比文件差异,以验证同步或合并是否正确。
7.2 推荐文章
http://www.cnblogs.com/huang0925/p/3254243.html
http://www.oschina.net/translate/a-successful-git-branching-model
svn版本回滚:
http://blog.csdn.net/aerchi/article/details/28590639