一、SVN的基本概念
- Repository
资源库,它是SVN的核心,运行于服务器端,存储所有文件及其历史变化 - WorkSpace
工作副本,运行于客户端,它是用户的工作空间,从Repository检出的文件都放在WorkSpace中 - Trunk
主干(相当于git的master)存放项目的主版本或当前使用的版本 - Branches
分支,它是主版本的分支,比如在Trunk中发现严重的bug,或者想在项目中实验某个新技术,都可以在分支中进行 - Tags
标签,它是只读的,用于对项目的特殊版本进行标记归档
二、SVN服务的搭建(Windows)
-
Win32SVN下载地址
http://subversion.apache.org/packages.html
或者 https://mp.csdn.net/console/upDetailed
-
环境变量配置
点击 我的电脑 - 属性 - 高级系统配置 - 环境变量
在系统变量中新建 SVN_HOME(本地安装SVN的目录),然后在path新建svn的环境变量配置,指向bin目录
-
SVN配置
3.1 创建SVN资源库
(1) 新建文件夹 F:\svnrepos
(2) 执行命令:svnadmin create F:\svnrepos
此时,在svnrepos的空目录下会增加一些目录和文件,如下图所示
3.2 修改SVN配置文件
(1) 修改文件 conf/svnserve.conf,将下面这行的注释取消
password-db = passwd
(2) 修改文件 conf/passwd,添加账号
3.3 启动SVN
执行命令:svnserve –d –r F:\svnrepos
三、TortoiseSVN的基本使用
-
下载安装TortoiseSVN
http://subversion.apache.org/packages.html
-
SVN的基本操作
操作 | 说明 |
---|---|
Repo-browser | 浏览SVN资源库 |
Checkout | 检出:从SVN资源库检出工作副本 |
Add | 添加:对于新的文件,需要在Commit之前执行Add操作,即将文件添加到工作副本,否则SVN客户端不能识别它 |
Commit | 提交:将对工作副本的修改提交到SVN资源库 |
Update | 更新:保证工作副本是最新的,与SVN资源库保持同步 |
Show log | 显示文件的所有修改记录,以及版本号的变化 |
Update to revision | 更新至修订版:将工作副本更新到任一历史版本 |
Revert | 还原:撤销对工作副本所做的改动 |
- 操作演示
4.1 浏览SVN资源库
4.2 检出
在F: \创建新目录project_test,右键SVN checkout。将资源库检出到本地,此时project_test目录下多了一个.svn的文件标识,说明当前目录已经受SVN管理
4.3 Add
由于最初我们的资源库是空的,所以project_test检出之后也是一个空的目录。
现在我们来创建一个文件夹test和一个文件001.doc。创建好之后在project_test目录右键Add
弹出对话框之后点击 ok
test文件夹多了一个加的标识,说明我们新建的文件已经被SVN管理
4.4 Commit
右键SVN commit提交新建的文件
提交之后test文件夹左下角多了一个绿色的标识,说明提交成功
我们在浏览SVN的远程资源库如下图所示
我们在001.doc输入一些内容,再次提交到远程
修改过的文件会有一个红色感叹号的标识
提交之后revision变为 2
我们可以通过 资源库浏览器确认修改结果,发现文件已被修改
4.5 Update.
由于是单机本地操作,Update(拉取更新)就不演示了
4.6 Showlog 展示日志
右键TortoiseSVN - Show log来查看我们刚才都做了哪些操作
弹框展示我们执行了两次操作,分别是Revision 1、Revision2
4.7 Update to revision 回退版本
现在我们来回退版本到Revision 1 ,也就是取消001.file输入的内容。
右键TortoiseSVN - Update to revision
勾选Revision,输入1。点击ok。
确认本地和远程资源库,001.doc的内容已被取消
4.8 Revert 撤销本地操作
假如我们对本地的001.doc文件进行了一下操作,感觉方案不是很完美,右键
TortoiseSVN - Revert 撤销本地的操作。撤销之后的版本和远程资源库的版本是一致的