SVN的搭建与常用操作

SVN的搭建与常用操作

1.SVN介绍
SVN是Subversion的简称,是一个*开源的版本控制系统。
Subversion将文件存放在中心版本库里,这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况,这样就可以借此将数据恢复到以前的版本,并可以查看数据的更改细节
1.1 SVN基本概念
SVN的搭建与常用操作
复制-修改-合并方案(Subversion默认的模式)
在这种模型里,每一个客户读取项目配置库建立一个私有工作副本——版本库中文件和目录的本地映射。用户并行工作,修改各自的工作副本,最终,各个私有的复制合并在一起,成为最终的版本,这种系统通常可以辅助合并操作,但是最终要靠人工去确定正误。
锁定-修改-解锁方案
在这样的模型里,在一个时间段里配置库的一个文件只允许被一个人修改。 此模式不适合软件开发这种工作。
1.2 SVN架构
SVN的搭建与常用操作
Subversion支持Linux和Windows,更多是安装在Linux下。
svn服务器有2种运行方式:独立服务器和借助apache运行。两种方式各有利弊,用户可以自行选择。
svn存储版本数据也有2种方式:BDB一种事务安全型表类型和FSFS一种不需要数据库的存储系统。
因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点。

2.SVN的使用

SVN是一种集中式管理代码的版本控制系统,原理就是把代码都保存到一个固定的位置(仓库),每次从这个位置拷贝更新代码,进行编辑;再把修改后的代码提交到该目录中。多人协作开发也是如此。因此需要一个类似Oracle或者Mysql的服务器用于保存和管理库文件(要保存的代码等文件)的服务端——VisualSVN Server。还需要一个用户的操作端,用于提交更新检出代码,常用的有idea的Svn插件,以及TortoiseSVN(小乌龟)。
SubVersion 官网:http://subversion.apache.org/
VisualSVN Server以及TortoiseSVN的安装及配置自行百度
创建仓库
SVN的搭建与常用操作
创建用户创建用户
SVN的搭建与常用操作
进行权限控制
SVN的搭建与常用操作

3 Tortoise SVN 常用操作

3.1 浏览仓库
创建一个文件夹,在文件夹中进行操作
SVN的搭建与常用操作
输出创建仓库是的url,右键仓库可获取,输入用户密码进行权限认证。
SVN的搭建与常用操作
在文件夹内右键选择点击checkout进行下载到指定本地位置
SVN的搭建与常用操作
这时候我们就可以开发了,开发完成之后点击add在点击commit提交版本至仓库
SVN的搭建与常用操作
SVN的搭建与常用操作
SVN更新到历史版本
如果在开发工程中需要倒退到之前编写的版本,可以使用update进行回滚版本操作,也可以进行更新到最新版本的操作

更新到最新版本
SVN的搭建与常用操作
update进行回滚版本操作
SVN的搭建与常用操作
SVN的搭建与常用操作
SVN的删除操作
标记删除操作,本地文件会删除,我们需要进行提交(commit),才能真正从服务器删除
SVN的搭建与常用操作

冲突问题与解决

多个用户同时操作同一个文件时,就可能产生冲突情况。
SVN的搭建与常用操作
这个冲突产生后如何解决,我们可以采用手动Merge,解决冲突后,重新commit.
SVN的搭建与常用操作

IDEA下 SVN 配置与使用

SVN的搭建与常用操作
share project也就是绑定仓库
SVN的搭建与常用操作
下面的按钮依次是
1.Update Project 更新项目
2.Commit changes 提交项目上所有变化文件
3.Compare with the Same Repository Version 当前文件与服务器上该文件通版本的内容进行比较。如果当前编辑
的文件没有修改,则是灰色不可点击。
4.Show history 显示当前文件的历史记录
5.Revert 还原当前被修改的文件到违背修改的版本状态下
SVN的搭建与常用操作

3. SVN规范

在visualSVN中创建仓库时,可以选择svn目录结构
SVN的搭建与常用操作
SVN的搭建与常用操作
Trunk 主干目录,此目录下的文件为基准文件
Branches 用于开发的分支目录
Tags 用于发布的版本目录
假设有一个项目OA,我们完成了1.0版本,这时就可以打一个tags
后续我们在OA项目上添加一个新的模块(及时通讯),我们就可以开一个分支,又有一个公司需要在我们OA基础上添加
财务管理模块,我们又可以打一个分支。
我们后续针对OA的1.0版本在升级,我们不需要原来附加功能,就可以在原来的主干上继续开发,形成OA2.0版本,
开发完成后就可以在打一个tags

分支与标记

分支或标记规范
分支的定义规则: Project name+日期时间+功能点 Tags的定义规则 Project name+版本号 版本号定义为三段数字编号 xxx.xxx.xxx 第一个:革命性的产品升级版 第二个:新功能版 第三个:修正bug

打分支或标记

SVN的搭建与常用操作
SVN的搭建与常用操作
之后新建一个文件夹作为分支,绑定分支的url仓库,checkout下来
Tags一般是只读,它代表的是发布的版本,所以我们不要进行改变。

主干合并到分支

首先保证主干是最新的(先update),在分支这边进行操作
SVN的搭建与常用操作
SVN的搭建与常用操作
SVN的搭建与常用操作
上面的url为主干仓库的!下面的是分支文件夹!以上就是SVN的常用操作