SVN 使用文档



概述


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

2. 如果没有svn,一般会遇到的问题

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

3. 相关概念

  • 服务器           server             专用的硬件服务器
  • 仓库              repository       专用于某个项目的磁盘空间,位于硬件服务器中
  • 检出              checkout         一次性工作,下载代码并完成与服务器间的关联
  • 上传/提交      commit          多次工作
  • 更新              update            多次工作
  • 记录日志       logger            记录操作相关的信息,包括动作,用户,时间,信息
  • 版本号码       version           记录文件被操作的次数,即版本数


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

svn的体系结构


1. 体系结构如图:

 2.SVN的仓库

  •    DB -- 使用数据库作为SVN的仓库
  •    FSFS -- 使用系统文件方式作为SVN的仓库


3.SVN仓库的访问(SVN的服务器)

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


 4.SVN的客户端

  •    命令行访问
  •    图形化界面


 

svn的安装

1.Windows环境

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

2.linux安装(yum)

  • 检查是否已经有svn 
svnserve --version

如果有卸载:

yum remove subversion 
  • 安装svn
yum install -y subversion

检查是否安装成功:

svnserve --version

yum安装方便,但是安装位置不能控制


目录结构

  •  bin -- 可执行的二进制文件
  •  iconv -- 字符集编码的文件(国际化文件)
  •  licenses -- 许可证协议
  •  share -- 本地语言转换


创建SVN的仓库

(必须要先创建仓库,才能启动svn服务)

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

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

2.linux环境

  • 创建仓库目录:
mkdir -p /home/svn/ssmall
  • 创建仓库
svnadmin create /home/svn/ssmall
  • 检查是否创建成功
cd /home/svn/ssmall && ll

创建成功会显示如下目录:

       

仓库目录结构

仓库创建好后,有如下的一些目录结构

  •  conf -- 配置文件(重点的配置文件)

             svnserve.conf -- SVN的配置文件

             passwd -- 用户名和密码的文件

             authz -- 权限认证的文件

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


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

2. 启动仓库的方式有三种
* 命令行启动
* 单仓库启动:

 svnserve -d -r /home/svn/ssmall/


* 多仓库启动:

svnserve -d -r /home/svn/

  注释:     -d:守护进程 -r:svn根目录

  开发端口(firewall): firewall-cmd --zone=public --add-port=3306/tcp --permanent

使配置生效:  firewall-cmd --reload

查看防火墙是否开启:firewall-cmd --state

停止防火墙: systemctl stop firewalld.service

重启防火墙: systemctl restart firewalld.service

开启防火墙:  systemctl start firewalld





----------

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

----------

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

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


用户权限管理


* 步骤一:找仓库中的conf/svnserve.conf
* 步骤二:修改配置文件

  •  anon-access = none -- 匿名用户没有权限。(取值:none/read/write)
  •  auth-access = write -- 认证用户有读写权限
  •  password-db = passwd -- 让passwd的文件生效

用户名密码文件,可以使用绝对路径,如果使用相对路径指相对于conf目录的位置路径。注意:如果该选项不开启,用户名密码文件将失效

  •  authz-db = authz -- 让authz的文件生效

授权管理文件,可以使用绝对路径,如果使用相对路径指相对于conf目录的位置路径。注意:如果该选项不开启,授权管理将失效

  • realm = My First Repository      版本库认证域名称,也就是需要认证的仓库名, 可以不配

 步骤三 :打开passwd文件:设置用户名和密码

      设定用户信息

       harry = harryssecret

       用户名 = 密码

       注意:用户名与密码间的空白

 

 步骤四 :打开authz文件:设置用户的权限

           设定用户组,便于管理

           用户组名 = 用户名1,用户名2,用户名3,……

设定访问权限按目录结构进行设定,根结构写为[/]

             harry = rw

用户名 = 读写权限 r-读 w-写

           @ harry_and_sally = rw

           @用户组名 = 读写权限

 


 

猜你喜欢

转载自blog.csdn.net/ityqing/article/details/78564573