使用过git版本管理的同学大部分都使用过分支,git创建切换分支非常直观,SVN则相对来说没有那么强的分支的概念。本文主要介绍SVN中的分支使用。
SVN默认的生成目录如下
通常 branches 目录下为开发分支,tags 目录为标签目录,trunk 为主目录。一般在开发目录下创建分支进行功能开发,开发完成并经过测试无bug,再合并到 trunk 目录。在合并之前应当先把当前 trunk 打一个tag作为备份。
SVN创建分支
这里使用trunk 目录来创建分支为例,在trunk目录下右键菜单中选择 分支/标记,
在弹出菜单中修改分支存储的目录到 branches 目录下,创建文件夹命名为分支的名称,点击确定这样就创建了分支。
拉取分支/切换分支
要切换到开发分支有两种方法。
方式一:在本地SVN仓库的 branches 目录下拉取创建的分支,这种方式会拉取一个完整的副本。
方式二:在当前分支下,右键选择切换,
选择对应的分支文件夹,点击确定即可切换到相应分支。
合并分支若分支合并到主干,在主干目录右键,菜单中找到合并,合并类型选择第一项,
这个类型的Merge适用于将某个分支或主线上提交的多个revision间的变化合并到另外一个分支上。如果报 from url must be ancestrally related to to url 错误的情况下可以选择使用第二种。
2. 选择合并的版本
分支合并到主干 合并的源 应该填分支的路径。
3. 设置合并选项(一般保持默认即可)
在点击合并按钮前你可以先点击测试合并进行测试。
点击合并按钮后branch所做的修改将同步到trunk中。
至此,trunk 已经完全和 branch 同步,合并发生在本地 working copy,只要你不提交就不会影响到 repository。
所以我们和合并操作后,处理好冲突(如果存在冲突)后,将代码提交到 repository。