@[TOC] SVN的使用教程总结2021(持续更新) 一、 创建版本库
SVN生命周期
SVN的使用主要就是跟随他的生命周期,因此本文及后续将围绕SVN的生命周期编写。
1、 创建版本库:create 操作创建一个新的版本库,版本库用于存放文件,包括了每次修改的历史。
2、 检出:checkout 操作从版本库创建一个工作副本,作为开发者私人的工作空间,可以进行内容的修改,然后提交到版本库中。
3、 更新:update 操作更新版本库,将工作副本与版本库进行同步。因为版本库是整个团队共用的,当其他人提交了改动,你的工作副本就会过期。
4、 执行变更:检出之后,可以进行添加、编辑、删除、重命名、移动文件/目录等变更操作。当最终执行了 commit 操作后,就对版本库进行了相应变更。
5、 复查变化:当你对工作副本进行了一些修改后,你的工作副本就会比版本库新,在 commit 操作之前使用 status/diff 操作复查下你的修改是一个好的习惯。
6、 修复错误:如果你对工作副本做了许多修改,当时不想要这些修改了,revert 操作可以重置工作副本的修改,恢复到原始状态。
7、 解决冲突:合并的时候可能发生冲突,使用 merge 操作进行合并。因为 SVN 合并是以行为单位的,只要不是修改的同一行,SVN 都会自动合并,如果是同一行,SVN 会提示冲突,需要手动进行确认修改,合并代码。其中 resolve 操作可以帮助找出冲突。
8、 提交更改:将文件/目录添加到待变更列表,使用 commit 操作将更改从工作副本更新到版本库,提交是添加注释说明,是个好的习惯。
一、创建版本库
1. 搭建SVN服务器
首先来下载和搭建SVN服务器,下载地址如下: http://subversion.apache.org/packages.html,进入网址后,滚动到浏览器最底部看到如下截图:
2. 安装步骤
点开上面的VisualSVN连接,下载VisualSVN server,下载完成后双击安装,如下图:
点击Next下一步,如下:
然后再点击Next项,下一步,如下:
因为我们要建立SVN服务器,所以这里直接点击Next,如下:
Location是指VisualSVN Server的安装目录,Repositorys是指定你的版本库目录.Server Port指定一个端口,Use secure connection勾山表示使用安全连接。Backups是指你的备份文件的位置。
注:如果要修改路径的话请保持全英文路径,以免后续使用可能发生错误。
点击Next,进入下一步,如下图:
Use Subversion authentication 表示使用Subversion自己的用户认证.,Use Windows authentication 表示使用Windows身份认证。详细说明请参考:https://www.visualsvn.com/server/features/windows-auth/。简单来说Windows认证更安全,但是windows认证模式需要正版认证,因此这里我先选择基本模式。点击Next下一步,如图
最后点击Install安装,如图:
安装完成后点击Finish完成安装。如图:
可以在窗口的右边看到版本库的一些信息,比如状态,日志,用户认证,版本库等.
3. 建立版本库
要建立版本库,需要右键单击左边窗口的Repositores,如下图:
常规FSFS存储库(新手推荐)
当前的标准Subversion存储库基于FSFS数据存储后端。FSFS存储库功能齐全,几乎适用于每种使用模型。
分布式VDFS存储库(高级)
VisualSVN分布式文件系统(VDFS)是专有的数据存储后端,可在不同服务器之间实现透明的数据复制。由于Subversion的模块化设计,分布式VDFS存储库在功能上等效于常规Subversion FSFS存储库。最终用户可以使用主VDFS存储库和从属VDFS存储库执行所有可能的Subversion操作-签出和更新工作副本,提交更改,修改修订版属性,锁定和解锁文件等。
进入下一步,如下图:
输入完库名后点击下一步,如下图
Empty:表示只创建一个空的仓库
Single:表示在创建仓库的同时创建trunk、branches、tags三个子目录
【1】trunk是主分支,是日常开发进行的地方。
【2】branches是分支。一些阶段性的release版本,这些版本是可以继续进行开发和维护的,则放在branches目录中。又比如为不同用户客制化的版本,也可以放在分支中进行开发。
【3】tags目录一般是只读的,这里存储阶段性的发布版本,只是作为一个里程碑的版本进行存档。
点击【下一步】,如下图:
选择用户权限(这里我选择的是所有用户)
Nobody has access:表示没有人拥有权限
All Subversion users have Read/Write access:表示所有Subversion用户都具有读/写访问权限
Customize permissions:表示自定义权限。(如果需要制定用户权限请直接点击这里)
点击【create】,如下图:
点击【Finish】即可完成基本创建。
4. 需要建立用户和组,并且需要分配权限。
在VisualSVN Server Manager窗口的左侧右键单击用户组,选择Create User或者新建->User,如图:
点击User后,进入如下图:
填写Username、password和Confirm password后,点击ok按钮后,返回界面:
右键点击Groups,选择新建->Group,如图:
点击Group之后进入下图:
点击上面的【Add】按钮后,如下图
增加Yuri到用户中(如果有多个用户,操作一样)。
在弹出窗口中填写Group name为Developers,然后点Add按钮,在弹出的窗口中选择Developer,加入到这个组,然后点Ok.
接下来我们需要给用户组设置权限,在test2上单击右键,选择属性,如图:
在弹出的对话框中,选择Security选项卡,点击Add按钮,选中Yuri,然后添加进来,权限设置为Read/Write,如下图:
点击【ok】后如图所示:
点击【确定】按钮即可。
接下来为了让设置生效我们需要删除“Everyone”的权限,这里点击【Remove】,然后点击【应用】即可。如图:
5. 客户端SVN安装
客户端分为2种,一种是直接安装客户端,另一种是安装客户端在编程软件中。这里我们分开讲。
(1) 客户端SVN安装
首先我们需要下载TortoiseSVN,进行安装。
网址: https://www.visualsvn.com/visualsvn/download/
安装过程很简单,全部点击下一步即可,如果需要更改安装路径请确保安装路径为全英文。
安装完成后我们可以再下载一个中文汉化包,网址:https://tortoisesvn.net/downloads.html 点击如图:
安装过程也非常简单,直接点击下一步即可完成。
安装完成后,比如在我的项目在Test中,我右键就可以看到如下:
说明SVN已经安装成功了!
(2) 在VS(Visual Studio 2019)中安装
进入VS中,点击上方扩展->管理扩展,如图:
在右侧搜索栏直接搜索“VisualSVN”
点击下载即可安装
注:这里有的时候下载速度非常缓慢。建议直接到官网下载对应安装包并直接安装
网址:https://www.visualsvn.com/visualsvn/download/
安装完成后,在扩展栏内就会显示VisualSVN功能,如图:
注:这里有部分可能会导致安装过程中出现“vsix提示 此扩展不能安装在任何当前安装的产品上”,解决方式为:下载低版本SVN文件进行安装,安装依旧失败则重启电脑后继续尝试安装