SVN 使用文档

来源:互联网 发布:数据库表结设计例子 编辑:程序博客网 时间:2024/06/13 03:47

### SVN的概述和安装 ###

----------

**技术分析之svn的概述**

1. svn的概述
* SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。
* 互联网上很多版本控制服务已从CVS迁移到Subversion
* 说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。
* 解决团队开发中的代码管理的问题

2. 如果没有svn,一般会遇到的问题
* 代码管理混乱
* 备份多个版本,占用磁盘空间大
* 解决代码冲突困难
* 容易引发BUG
* 难于追溯问题代码的修改人和修改时间
* 难于恢复至以前正确版本
* 无法进行权限控制
* 项目版本发布困难

* 使用SVN工具,就可以管理上述的这一类问题!!

3. 简单的术语
* 仓库
* 提交
* 检出/更新

4. 常用的版本的控制工具
* VSS、CVS、SVN、GIT

----------

**技术分析之svn的体系结构**

1. 体系结构如图(看SVN的使用手册的图)
* SVN的仓库
  * DB -- 使用数据库作为SVN的仓库
  * FSFS -- 使用系统文件方式作为SVN的仓库

* SVN仓库的访问(SVN的服务器)
  * 整合Apache形式:http协议访问仓库
  * svnserve的方式:使用命令开启SVN的服务,使用SVN的协议访问

* SVN的客户端
  * 命令行访问
  * 图形化界面

![](./图片/01-svn的体系结构.bmp)

----------

**技术分析之svn的安装**

1. 双击Setup-Subversion-1.6.5.msi文件,注意自己的安装路径。点击next即可!!
* 安装完成后,打开DOS窗口,输入svnadmin --version 回车,查看是否安装成功!!
* 如果发现安装不成功,拷贝C:\Program Files (x86)\Subversion\bin路径,到环境变量的path配置一下就可以了!!

2. 可以了解一下svn安装后的目录结构
* bin -- 可执行的二进制文件
* iconv -- 字符集编码的文件
* licenses -- 许可证协议
* share -- 本地语言转换

----------

**技术分析之创建SVN的仓库(必须要先创建仓库,才能启动svn服务)**

1. SVN已经安装完成了,下面需要创建SVN的仓库
* 在某一个盘下创建文件夹,随意创建。例如:在C盘下创建Repositories文件,一个仓库可以存放多个项目,在Repositories文件夹中再创建多个子文件夹。代表不同的项目

2. 可以使用命令的方式或者图形化界面的方式来创建
* 命令的方式:svnadmin create c:\Repositories\crm

3. 仓库创建好后,有如下的一些目录结构
* conf -- 配置文件(重点的配置文件)
* svnserve.conf-- SVN的配置文件
* passwd -- 用户名和密码的文件
* authz -- 权限认证的文件

* db -- 版本数据存储目录
* hooks -- 存放版本库勾子目录
* locks -- 存储库锁目录,用来跟踪库的访问者

4. 启动仓库
1. 启动仓库分成两种主要的形式
* 单仓库启动(只启动其中的一个仓库)
* 多仓库启动(启动所有的仓库)

2. 启动仓库的方式有三种
* 命令行启动
* 单仓库启动:
* svnserve -d -r C:\Repositories\crm
* 多仓库启动:
* svnserve -d -r C:\Repositories

* 使用批处理文件的方式启动,先创建一个批处理的文件,在该文件中复制如下命令
* 单仓库启动:
* svnserve -d -r C:\Repositories\crm
* 多仓库启动:
* svnserve -d -r C:\Repositories

* 在系统上注册服务的方式,以后只要电脑一开机就自动启动了,注意:以下命令不要复制错误了!!
* 命令:sc create SVN-Service binpath= "C:\Program Files (x86)\Subversion\bin\svnserve.exe --service -r C:\Repositories" displayname= "SVN-Service" start= auto depend= Tcpip

* 注意修改的地方1:C:\Program Files (x86)\Subversion\bin是自己的安装路径
* 注意修改的地方2:C:\Repositories创建的路径(多仓库启动的方式)

* 系统提示权限不足。使用管理员权限运行dos窗口

3. 总结:采用服务的方式启动仓库和如果删除服务
* 命令:sc create SVN-Service binpath= "C:\Program Files (x86)\Subversion\bin\svnserve.exe --service -r C:\Repositories" displayname= "SVN-Service" start= auto depend= Tcpip

* 如果想要删除服务:sc delete SVN-Service

----------

### SVN的客户端工具的使用 ###

----------

**技术分析之安装图形画界面的工具**

1. 在可视化工具文件夹中选择自己电脑的版本的安装软件,双击安装!
* 双击 TortoiseSVN-1.7.12.24070-x64-svn-1.7.9.msi 安装
2. 安装完成图形界面后,可以使用图形界面的方式创建仓库
3. 安装后重启电脑

----------

**技术分析之图形化界面的使用**

1. 模拟两个人同时使用SVN的环境,使用图形界面进行文件的提交和更新的操作
2. 简单的操作
* 选择 svn checkout-- 检出(第一次都需要检出资料,和svn的服务器取得同步)
* svn的默认端口号是3690,使用协议:svn://localhost:3690/crm 来检出内容
* 创建文件,出现一个蓝色的 ? 号,说明该文件还没有被svn所管理,需要手动添加该文件。点击 add 完成添加
* 出现蓝色的 + 号,说明已经被svn管理了,但是没有与svn服务器同步
* 选中,右键点击提交,就可以与svn同步了

3. 如果没有提交成功,说明现在是没有权限的,可以先设置简单的权限
*  简单的设置权限的版本
* 1.打开crm的仓库
* 2.找到仓库:conf/svnserve.conf
* anon-access = write---匿名用户可读,可写.

4. 其他人就可以来更新代码了

----------

**技术分析之设置权限**

* 步骤一:找仓库中的conf/svnserve.conf
* 步骤二:修改配置文件
* anon-access = none-- 匿名用户没有权限。(取值:none/read/write)
* auth-access = write-- 认证用户有读写权限
* password-db = passwd-- 让passwd的文件生效
* authz-db = authz-- 让authz的文件生效

* 步骤三 :打开passwd文件:设置用户名和密码
xx=123
yy=123

* 步骤四 :打开authz文件:设置用户的权限
[groups]
crmGroup=xx,yy

[/]
@crmGroup=rw
* = 

----------

**技术分析之解决代码冲突问题(冲突一定会存在,必须要会解决)**

1. 两个人都修改了同一个文件,然后一个先提交了,后提交的用户就会产生冲突。
2. 后提交的人需要来解决冲突
* 先更新,然后删除掉多余的内容
* 再重新提交

----------

**技术分析之锁机制(了解)**

1. 右键,选择get lock 加锁,提交后默认就解锁了!!
2. 可以选择仓库,释放锁

----------

### Eclipse中安装svn的插件安装和使用 ###

----------

**技术分析之Eclipse中安装svn插件**

1. 在Eclipse中安装svn的插件
* 先退出Eclipse
* 步骤一:下载site-1.10.11.zip
* 将其解压
* features
* plugins

* 步骤二:创建一个文件夹svn,将两个文件夹copy到svn路径下
* 步骤三:打开Eclipse安装路径:
* eclipse\dropins
* 步骤四:将svn的文件夹copy到dropins路径
* 步骤五:重新启动Eclipse

----------

**技术分析之Eclipse中使用SVN工具**
原创粉丝点击