当前位置:   article > 正文

版本管理工具-SVN使用教程_svn管理工具

svn管理工具

一、SVN简介

1.用法

①.代码版本管理工具

②.它能记住你每一次的代码修改

③.查看所有的修改记录

④.恢复到任何历史版本

⑤.恢复已经删除的文件

2.相较Git的优势

  • SVN使用简单,上手快
  • 目录级权限控制,企业安全必备
  • 子目录Checkout,减少不必要的文件检出

3.SVN客户端安装

安装网址:https://svnbucket.com

进入网址,注册登录账号,选择SVN教程下的SVN客户端下载点击

跳转SVN客户端下载新页面,推荐使用TortoiseSVN下载,点击官网下载即可

下载完成后,进行安装,无脑下一步就安装成功了(可以选择安装路径)

4.SVN仓库

仓库推荐使用:SVN桶,目前最好用的SVN服务,网址如下:

https://svnbucket.com

二、SVN使用

1.Checkout检出代码

新建文件夹workspace储存代码,进入workspace文件夹中,鼠标单击右键,单击SVN Checkout…

填写SVN地址(URL of repository:,svn服务端的url);填写保存目录(Checkout directory:);检出深度(Checkout Depth)默认Fully recursive;点击OK

检出深度各选项的具体含义,四种:

1)Fully recursive——全递归:检出完整的目录树,包含所有的文件或子目录。

2)Immediate children,including folders——直接子节点,包含文件夹:检出目录,包含其中的文件或子目录,但是不递归展开子目录。

3)Only file chlidren——仅文件子节点:检出指定目录,包含所有文件,但是不检出任何子目录。

4)Only this item——仅此项:只检出目录。不包含其中的文件或子目录

填写刚刚注册时候的用户名和密码,再点击OK就能同步代码到本地了

2.Update更新代码

在CheckOut的基础上,鼠标右键 选中SVN Update 更新代码

如显示以下界面表示更新成功

3.Commit提交代码

在CheckOut的基础上,鼠标右键,单击SVN Commit…进行提交

填入提交描述,选中要上传的文件,点击确定,就可以把本地提交的代码提交到服务器了。

注意:在提交代码前应该update下代码,这样可以避免冲突

4.撤销操作

4.1撤销本地修改

撤销操作第一种情况:撤销文件夹内修改操作(修改后文件就变成红色的)

直接在修改的文件上鼠标右键,单击 TortoiseSVN->Revert… 就可以撤销了!

4.2撤销已提交代码(本地撤销)

撤销操作第二种情况:撤销仓库中错误提交的内容

需要先打开日志信息:鼠标右键——>TortoiseSVN——>Show Log

鼠标选择想要撤销的文件,鼠标右击,单击Revert chanages from this version

此时这次撤销操作只是在本地撤销,还需要提交到服务端,这样才算真正撤销成功了!

4.3撤销已提交代码(仓库中撤销)

撤销操作第三种情况:我们还可以将提交的错误代码撤销到指定的版本

选中需要回去的版本版本,鼠标右键,单击Revert to this revision,这样就回去了指定的版本

最后还需要commit下撤销后的代码到SVN仓库

5.添加忽略

对于未修改或者未修改完成的某些目录或者文件,暂时不需要提交到 SVN 服务器。

此时我们就可以对不想提交的文件添加忽略

添加忽略文件方式

1.选中要忽略的文件夹,右键Add to ignore list

下面以常见的Library路径为例,说明下如何添加忽略。

右键 TortoiseSVN -> Add to ignore list -> Library 或 Library(recursively),选择Library表示只忽略Library目录,而Library(recursively)表示Library目录及其子目录都忽略

2.Properties 在属性中添加

如果有多个路径或者文件需要忽略的话,右键方式不是一个好的选择,因为要重复地做好多遍 Add to ignore list 操作,这种情况下直接在Properties中添加忽略是更合理的做法。

在工作目录的空白处 右键TortoiseSVN -> Properties,如果按照第一种方式做过的话可以发现此时Properties中已经添加好了一条忽略规则,即 svn:global-ignores Library,(还记着上一步右键Add to ignore list 时弹出的两个选项 Library 和 Library(recursively)吗,如果选择的是Library,那么此时Properties中的忽略规则显示的就是 svn:ignore Library, 如果选择的是Library(recursively),那么Properties中的忽略规则显示的就是 svn:global-ignores Library)

点击 New... -> other,在弹出窗口的Property Name下拉菜单中选择 svn:ignore,也可以是svn:global-ignores,在Property value中输入 要忽略的路径或文件,此处输入Library。

点击OK完成添加,这时再取Commit就看不到Library目录下的文件了。

6.解决冲突

什么情况容易发生冲突?

  • 多人修改同一文件同一行
  • 无法进行合并的二进制文件

怎么避免冲突?

  • 经常update同步他人的代码
  • 二进制文件不要多个人同时操作
  • 如何解决冲突?

(由于该过程需要两台电脑,且很难文字记录,所以提供视频链接)

解决冲突_哔哩哔哩_bilibili

7.修改仓库地址

仓库地址变更后,快速更换:右键点击仓库根目录 => TortoiseSVN => relocate,修改仓库地址,点击确定后就修改好了

建议每个仓库的根目录都创建trunk、branches、tags目录,这是经典的 SVN 目录结构,方便开发和维护

  • trunk:主干
  • branches:分支
  • tags:标签

 开发模式是,开发时都在trunk写代码,上线产品后就创建分支到branches目录,线上版本出问题了,我们应该在对应的分支上进行修复,并且把修复后的代码合并到主干上。

8.创建分支

什么时候需要开分支

  • 隔离线上版本和开发版本
  • 大功能开发,不想影响别人,自己独立开个分支进行开发

创建步骤:

①在文件夹中创建上述经典目录结构(3个文件夹),将代码文件放到trunk文件夹中,加入我们的主干开发已经完成,准备上线了,我们就可以开个线上版本分支。

②选中trunk文件夹,鼠标右键,单击TortoiseSVN——>Branch/tag

③填写分支路径/branches/online1.0,填写注释,选择最用最新的版本开分支,

④此时更新一下,就会发现branches中出现了分支,接着我们把onlinev1.0和trunk文件重新检出到workspace文件夹中,鼠标右键查看属性就能得到这两个文件的URL:

⑤然后根据URL 检出SVN Checkout… 到workspace文件夹下,将svnbucket文件夹删除后,我们只有一个主干和一个分支:

此时主干和分支的修改操作,相互之间并没有影响!

在这里我们的svnbucket-onlinev1.0是线上版本,线上版本出现bug我们就对其进行修改提交,这样对主干没有任何影响。

9.合并代码

把线上的bug修复操作合并到主干上,操作如下:

①将鼠标移动到线上版本,鼠标右键——>TortoiseSVN——>Show log

②选中需要合并过去主干的提交记录(可以多选)

③点击merge revision to

④选择主干的跟目录,点击确定,就合并过去了

⑤在主干上提交这次合并的内容

将此版本合并到svnbucket-trunk,这样就合并完成了!

注意:你在分支上的什么目录点击合并,那就需要定位到主干的对应目录合并,不然会出错。

另外如果大量的代码需要合并或者不知道哪些提交记录需要合并,可以使用Beyond Compare来进行对比合并,也是非常方便的,视频教程使用BeyondCompare做复杂代码合并

10.切换分支

先创建一个onlinev2.0分支文件,步骤同创建分支

右键TortoiseSVN => Switch => 选择需要切换的分支,点击OK就可以了

11.代码暂存

需要使用代码暂存的场景:

  • 代码修改了很多,突然需要紧急修复一个bug,但是代码并没有写完,不能提交
  • 代码重构了很多,突然需要发布新版本,但是代码还跑不起来,不能提交

暂存步骤:右键TortoiseSVN =>Shelve

取消暂存:

右键TortoiseSVN =>Unshelve

点击Apply

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/空白诗007/article/detail/807175
推荐阅读
相关标签
  

闽ICP备14008679号