Centos7部署SVN

文章目录

    • (1)SVN概述
    • (2)SVN与Samba共享
    • (3)安装SVN
    • (4)SVN搭建实例
    • (5)pc连接svn服务器
    • (6)svn图标所代表含义

(1)SVN概述

SVN(Apache Subversion)是一个开放源代码的版本控制系统,用于管理和跟踪文件和目录的变化。它采用分支管理系统,并旨在取代CVS。以下是关于SVN安装和搭建的基本概述以及Windows连接的步骤:

(2)SVN与Samba共享

SVN还可以用作于企业内部共享,之前就这么干过,其实还行,如果文件大,对本地机器不太友好,但是好处就是存在多个备份。

相对于Samba共享,它具有一些不同的优势。以下是SVN相对于Samba共享的一些优势:

  1. 版本控制功能:SVN是一个专门为版本控制而设计的工具,它可以跟踪和管理文件和目录的变化,记录每个版本的修改历史,并支持回滚到以前的版本。这使得团队成员可以轻松地协同工作、共享和管理文件,并且可以方便地查看和比较不同版本之间的差异。
  2. 文件锁定机制:SVN提供了文件锁定机制,可以防止多个用户同时编辑同一个文件而引起的冲突。当一个用户锁定文件时,其他用户无法编辑该文件,从而避免了冲突和数据丢失的风险。这对于团队合作和协同开发非常有用。
  3. 权限控制:SVN提供了灵活的权限控制机制,可以根据用户和用户组设置不同的访问权限。管理员可以精确地控制用户对仓库和文件的读写权限,从而确保敏感数据的安全性和保密性。
  4. 分支和合并:SVN支持分支和合并操作,可以创建和管理不同的分支,使团队可以同时进行不同的开发工作。分支可以独立开发和测试,然后合并回主线,从而实现并行开发和代码管理的灵活性。
  5. 更精细的版本控制:SVN可以跟踪文件和目录的每个修改,包括添加、删除、重命名和移动等操作。这使得团队可以更精细地控制和管理文件的变化,以及查看和恢复到特定的修改点。

总的来说,SVN相对于Samba共享在版本控制、文件锁定、权限控制、分支和合并等方面提供了更强大和灵活的功能,适用于需要更高级别文件管理和协作的企业内部共享环境。

(3)安装SVN

  1. 检查防火墙状态:systemctl status firewalld.service
    Centos7部署SVN_第1张图片
  2. 关闭防火墙:systemctl stop firewalld.service
  3. 检查是否已安装SVN:rpm -qa subversion
  4. 查看已安装版本的详细信息:svnserve --version
  5. 如果未安装SVN,使用以下命令安装:yum install subversion -y

(4)SVN搭建实例

  1. 修改svnserve.conf配置文件:

    • 打开配置文件:vi /home/Admindept/conf/svnserve.conf
    • 去除以下注释:
      • anon-access=none(匿名用户不可访问)
      • auth-access=write(授权用户可写)
      • password-db=passwd(使用哪个文件作为账号文件)
      • authz-db=authz(使用哪个文件作为权限文件)
      • realm=/home/Admindept(认证空间名,设置版本库所在目录)
  2. 创建项目:

    • 创建hr项目:svnadmin create /home/Admindept
    • 创建ops项目:svnadmin create /home/opertion
  3. 启动SVN服务:

    • 默认使用3690端口:svnserve -d -r /home/Admindept/
    • 如果启动第二个SVN需要指定3691端口:svnserve -d -r /home/opertion/ --listen-port 3691
  4. 添加用户和密码:

    • 打开passwd文件:vi /home/Admindept/conf/passwd
    • 在文件中添加用户和密码,例如:josh = josh@2023#annie = annie@2023#
  5. 设置控制权限:

    • 打开authz文件:vi /home/Admindept/conf/authz

    • 在文件中设置权限,例如:

      hr = annie,josh
      ops = josh
      
      [/]
      @ops = rw
      @hr = rw
      
      [/hr]
      @hr = rw
      @ops = rw
      *=
      
  6. 关于配置文件的介绍:

    • authz:权限控制文件,用于授权用户和组。
    • passwd:帐号密码文件,用于连接SVN仓库。
    • svnserve.conf:SVN服务配置文件,设置访问控制和认证空间。

(5)pc连接svn服务器

TortoiseSVN在windows非常受到欢迎的一套客户端软体,它与档案总管整合得相当不错,可以透过档案总管在档案或目录上用滑鼠右键的选单完成SVN的操作。

1. 安装TortoiseSVN客户端

svn客户端软件获取地址:http://tortoisesvn.net/downloads/

2. svn客户端安装

双击软件包进行安装,然后下一步下一步直至安装结束即可。

在这里插入图片描述

next
Centos7部署SVN_第2张图片

Centos7部署SVN_第3张图片

Centos7部署SVN_第4张图片

Centos7部署SVN_第5张图片

3. 使用svn客户端

注意:SVN客户端安装完成之后,需要重启客户端主机。

连接步骤如下:

  1. 连接SVN服务器,本地创建一个用于存放svn本地仓库的文件夹,右击选择:SVN Checkout
    Centos7部署SVN_第6张图片

  2. 连接到SVN服务器:svn://192.168.217.128:3690/

Centos7部署SVN_第7张图片

输入SVN的账户密码
Centos7部署SVN_第8张图片

如果内容较多,可能需要等待…拉取
Centos7部署SVN_第9张图片

(6)svn图标所代表含义

  • 常规图标:当客户端文件和服务端文件完全同步时,显示以上图标
    在这里插入图片描述
  • 冲突图标:当客户端提交的文件和服务器端数据有冲突
    在这里插入图片描述
  • 删除图标:当服务端数据已删除,客户端该文件显示以上图标
    在这里插入图片描述
  • 增加图标:当我们编写的文件添加到提交队列,系统自动显示
    在这里插入图片描述
  • 无版本控制图标:当我们编写的文件没有添加到上传队列时
    在这里插入图片描述
  • 修改图标:当有文件有修改但未提交
    在这里插入图片描述
  • 只读图标:当客户端文件以只读形式存在时
  • 在这里插入图片描述
  • 锁定图标:当服务端数据已锁定,客户端自动显示
    在这里插入图片描述
  • 忽略图标:客户端文件已忽略,不需要进行提交上传
    在这里插入图片描述
  • 忽略功能如何只忽略某个指定文件,效果如下:
    Centos7部署SVN_第10张图片
    忽略某一类型的文件,如excel的.xlsx文件
    Centos7部署SVN_第11张图片

你可能感兴趣的:(CentOS,svn,服务器,apache)