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

追求适度,才能走向成功;人在顶峰,迈步就是下坡;身在低谷,抬足既是登高;弦,绷得太紧会断;人,思虑过度会疯;水至清无鱼,人至真无友,山至高无树;适度,不是中庸,而是一种明智的生活态度。

导读:本篇文章讲解 《SVN系列教程-第四章-TortoiseSVN使用大全》,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

教程说明


《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的用户名和密码

在这里插入图片描述

检出成功:

在这里插入图片描述

绿色勾图标:当前工作副本和svn服务器完全一致;

使用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 演示冲突

模拟冲突:

xiaohui xiaolan
创建abc.txt
内容为:
111
222
333
执行add
执行commit
执行update
修改内容为:
111aaa
222
333
执行commit
修改内容为:
111bbb
222
333
执行update(冲突)

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

查看产生冲突的文件夹:

在这里插入图片描述

黄色感叹号:提交的文件与svn服务器冲突时的状态;

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分支中;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/131757.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!