SVN系列教程-第四章-TortoiseSVN使用大全

发布时间:   来源:CSDN  

教程说明

本系列教程目录大纲:《SVN系列教程-目录大纲》

《SVN系列教程-第四章-TortoiseSVN使用大全》


(资料图)

1.1 TortoiseSVN简介

TortoiseSVN是一款基于windows系统的svn客户端工具,TortoiseSVN可以很好的帮助我们操作SVN仓库,例如检出、添加、更新、提交、删除、撤销、日志记录、回滚版本、解决冲突、文件忽略等功能;

安装好TortoiseSVN之后,查看右键菜单:

选择Repo-browser,输入仓库的地址:

输入用户名和密码:

在线浏览仓库

1.2 TortoiseSVN的使用

1.2.1 检出

首先将test_crm的仓库权限设置为xiaohui、xiaolan用户可读/写;

1)创建两个工作空间目录,xiaohui、xiaolan:

2)在空白地方右击鼠标,选择SVN Checkout...进行项目检出:

3)选择地址进行检出

4)输入xiaohui的用户名和密码

检出成功:

使用xiaolan用户重新检出一份到xiaolan目录:

首先需要清除之前保存的用户信息:

清除用户信息:

重复刚刚xiaohui检出的步骤,如图:

1.2.2 添加

添加成功后:

1.2.2 提交

填写日志信息:

提交完成后,文件左下角出现绿色勾勾图标,代表与服务器端的版本一模一样(是最新版本):

1.2.2 更新

来到xiaolan工作空间,空白处右击SVN Update:

1.2.2 删除

删除之前查看VisualSVN:

删除:

空白处右击,选择提交:

提交后再次查看VisualSVN,发现hello.txt没有了;

1.2.3 回退

在需要回退的文件上面右击—>TortoiseSVN—>Update to revision...

查看日志信息:

选择指定版本进行回退:

1.2.4 撤销

删除config.txt文件

在工作副本空白处右击—>TortoiseSVN—>Revert...

1.3 TortoiseSVN演示冲突

1.3.1 演示冲突

模拟冲突:

xiaohuixiaolan

创建abc.txt内容为:111222333

执行add

执行commit

执行update

修改内容为:111aaa222333

执行commit

修改内容为:111bbb222333

执行update(冲突)

查看产生冲突的文件夹:

1.3.2 解决冲突

1)选择冲突的文件,右击—>TortoiseSVN—>Edit conflicts

冲突界面:

解决完毕冲突后点击Save,冲突的文件全部清空了:

1.4 分支

1.4.1 分支概念

分支在SVN中其实就是一个文件夹(仓库);到目前为止,我们所有的项目文件都是统一放在SVN仓库的根目录下的。在SVN中一个仓库可以管理多个项目或者说多个模块的。比如一个oa系统会有人事模块、会议模块、部门模块、财务模块等;再或者我们建立一个mine仓库一个external仓库,mine代表存放的是我们公司自研项目,external代表外包项目;总而言之我们可以建立多个文件夹来管理我们的项目。

我们上面的mine、external、CRM系统、OA系统就是分支,多分支的第一个好处当然就是方便管理项目了,项目结构清晰明了;

在版本控制中,分支还有另一个巨大的好处,那就是提供了版本控制的隔离;

目前为止,我们所有项目、模块都存储在一个分支(文件夹)中,我们知道,任意模块的代码提交都会产生一个版本的更新,并且这个版本属于此分支,这样一来当有某个模块需要回退到历史的某个版本时,在同一个仓库的其他模块的代码也必定会回退到这个版本的时期,原因是他们都属于一个分支(文件夹);

我们建立分支后,在指定分支中触发的版本更新是属于这个分支的,当进行版本回退时,也只是回退当前分支的代码,并不会影响其他分支的开发;

1.4.2 分支命令操作

分支真正意义上就是一个文件夹而已,这个文件夹中保存着这里面代码的版本体系,因此创建分支、删除分支等其实就是创建一个文件夹、删除一个文件夹而已;

创建分支:

格式:

svn copy [--username 用户名 --password 密码] [文件夹地址] [新地址] -m "创建日志"

示例:

svn copy --username xiaohui --password admin https://DESKTOP-DAT3C0S:8443/svn/test_crm/trunk https://DESKTOP-DAT3C0S:8443/svn/test_crm/branches/t1 -m "创建测试分支"

在test_crm项目下创建了一个t1分支(实质上就是把trunk目录下的文件复制了一分到branches目录下的t1目录)

通过VisualSVN创建分支:

1.4.3 合并分支

1)创建分支

创建两个分支:login、pay;

2)检出分支代码

模拟xiaohui用户一个人开发两个分支:

1)检出login分支的代码:

2)检出pay分支的代码:

3)编写代码提交

模拟开发多分支:

login分支pay分支

内容:初始化登录功能,具备QQ登录功能

add

commit;

内容:初始化支付功能,具备支付宝支付功能

add

commit;

新增微信等功能

commit;

新增支付宝支付功能

commit;

由于在不同的模块(分支)下开发,因此更新或者回退项目时,不会影响到其他的模块(分支);

查看login分支的提交日志: 查看pay分支的提交日志:

4)合并分支

我们前面提到过,分支其实就是一个文件夹,合并分支无非是把一个文件夹(分支)中的内容copy到其他文件夹(分支)而已;

在需要合并的文件/文件夹上右击—>TortoiesSVN—>Branch/tag

选择要合并到的分支:

合并之后,需要在login分支提交,才会将合并的文件提交到login分支中;

相关文章Related

返回栏目>>