文章目录
参考资料
SVN视频笔记
链接:https://pan.baidu.com/s/1yxyBNeyA0x_PzcifWzKeWA
提取码:lldv
复制这段内容后打开百度网盘手机App,操作更方便哦--来自百度网盘超级会员V2的分享
SVN介绍
SVN是Subversion的简称,是一个自由开源的版本控制系统。
Subversion将文件存放在中心版本库里,这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况,这样就可以借此将数据恢复到以前的版本,并可以查看数据的更改细节。
早期版本控制使用的是CVS,后来SVN替代了CVS,随着android兴起,出现Git版本控制工具,后续我们会学到。
SVN基本概念
问题: 怎样让系统允许用户共享信息,而不会让他们因意外而互相干扰?
复制-修改-合并方案(Subversion默认的模式)
在这种模型里,每一个客户读取项目配置库建立一个私有工作副本——版本库中文件和目录的本地映射。用户并行工作,修改各自的工作副本,最终,各个私有的复制合并在一起,成为最终的版本,这种系统通常可以辅助合并操作,但是最终要靠人工去确定正误。
锁定-修改-解锁方案
在这样的模型里,在一个时间段里配置库的一个文件只允许被一个人修改。 此模式不适合软件开发这种工作。
SVN架构
Subversion支持Linux和Windows,更多是安装在Linux下。
svn服务器有2种运行方式:独立服务器和借助apache运行。两种方式各有利弊,用户可以自行选择。
svn存储版本数据也有2种方式:BDB一种事务安全型表类型和FSFS一种不需要数据库的存储系统。因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点。
SVN的使用
本章节主要介绍常用的svn工具,如window下svn服务器VisualSVN,客户端工具TortoiseSVN以及idea svn插件的使用。
SVN是一种集中式管理代码的版本控制系统,原理就是把代码都保存到一个固定的位置(仓库),每次从这个位置拷贝更新代码,进行编辑;再把修改后的代码提交到该目录中。多人协作开发也是如此。因此需要一个类似Oracle或者Mysql的服务器用于保存和管理库文件(要保存的代码等文件)的服务端——VisualSVN Server。还需要一个用户的操作端,用于提交更新检出代码,常用的有idea的Svn插件,以及TortoiseSVN(小乌龟)。
SubVersion 官网:http://subversion.apache.org/
服务器端VisualSVN安装与配置
- VisualSVN下载
去官网按照自己的系统下载相应的版本
- VisualSVN安装与创建仓库
- VisualSVN创建工程目录
- VisualSVN 权限控制
客户端TortoiseSVN安装与使用
TortoiseSVN是一个基于windows系统的svn客户端图形化界面.
- Tortoise SVN下载
- Tortoise SVN安装
安装后需要重启电脑
Tortoise SVN 常用操作
- 浏览仓库
- checkout
- add
- commit
- update
- 更新到历史版本
- delete
- 导入与导出
- 冲突问题与解决
SVN命令
svn 命令行拉取远程代码
将文件拉取到本地
//第一次拉取
svn checkout url --username=*** --password=*** url路径
//不是第一次拉取
svn checkout url
//版本库下的文件和目录列表
svn ls https://xxx
创建仓库拉取文件
//在本地创建一个空白文件夹,使用cd指令进入到该文件夹
$ cd /Users/MacBook Pro/Desktop/Git_svn
//创建本地的Git仓库,最后面的 svn://… 是你的SVN仓库地址,username是你的SVN用户名
$ git svn init svn://username@host/filepath