svn版本管理软件——svn分支管理

来源:互联网 发布:股市行情软件 编辑:程序博客网 时间:2024/04/27 18:17

svn的分支不像git一样以一个特殊的指针指向分支,而是在不同的版本提交基础上将整个版本库内容复制到该分支上。新建的分支最好放在分支标签上,与主线分支分开。

svn分支操作

svn新建分支与修改分支名

svn新建分支实在客户端进行的,新建分支如下图所示。

这里写图片描述
这里写图片描述

在分支至路径中,要手动填写分支名,确保该名没有在分支branches目录下存在,为没用过的文件名,分支版本可以选择将最新的版本切换为分支。分支创建成功如下图所示。

这里写图片描述

需要修改分支名直接在svn版本库浏览器中对该分支改名即可,如下图所示,也可以选中文件夹按F2快捷键改名。改名也需要填写记录日志。
这里写图片描述

注意:用户新建新建分支,该用户就拥有该分支的修改权限,分支的具体权限之上而下的树状分布授权,如另一个用户本身拥有branches的权限,那么也会自然地拥有在该目录树下新建的分支权限。但新的用户需要svn服务端进行权限分配。

svn跳转分支

svn跳转分支功能如下图所示,如git一样将工作区从master切换到分支中。
这里写图片描述
这里写图片描述

svn切换分支成功后如下图所示。
这里写图片描述

svn删除分支

svn删除分支可以在svn服务端进行删除,也可以在svn版本浏览器中删除,删除掉该分支的文件夹即可,如图下图所示。

这里写图片描述
这里写图片描述

使用svn版本浏览器中删除分支会提示填写日志记录,在svn服务器端删除则不需要,尽量使用svn版本浏览器删除,svn服务端只负责创建和保存代码。

svn获取远程分支

svn与git不同的是svn为集中式版本管理,没必要将master和其他分支一并下载到本地,本地工作区始终只保留一份代码修改,通过切换分支获得其他版本,在新的工作文件夹中,要获取远程分支,直接checkout检出远程分支的地址即可,如下图所示。

这里写图片描述

检出成功后如下图所示。
这里写图片描述

svn标签

svn的标签与git不一样,svn将标签当分支处理,只是创建的时候将分支创建到tags文件夹而已。功能与git一样,标签仅仅是代表工作到一个进度之后的版本快照保存,不应在分支上修改代码。

分支合并与同步

svn在分支上有了几个提交,例如该分支为开发某个功能,该功能添加完毕并测试稳定后,需要将该新加的功能合并到主线master版本了,这时需要将svn分支合并。查看svn在分支的提交如下图所示

这里写图片描述

将现在的分支版本切换回master主线,和git一样的分支合并,在svn菜单中选择“合并”如下图所示。
这里写图片描述

在合并类型中,选择合并一个版本范围,因为该分支就是从这个master版本派生出来的分支,合并源填写的是分支的版本路径,如下图所示。
这里写图片描述

在下一步中按默认选项配置,单击合并即可,合并完成如下图所示。
这里写图片描述

svn合并后的代码添加到主线上。master合并成功后,代码还需要提交一次,提交时补充说明分支合并,合并后的提交将分支合并信息一并提交,如下图所示。

这里写图片描述
这里写图片描述

合并后在查看日志记录中,选择包含合并版本,即可看到分支合并的用户提交情况和提交说明,如下图所示。
这里写图片描述