Centos7部署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
  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

3. 使用svn客户端

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

连接步骤如下:

  1. 连接SVN服务器,本地创建一个用于存放svn本地仓库的文件夹,右击选择:SVN Checkout

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

输入SVN的账户密码

如果内容较多,可能需要等待...拉取

(6)svn图标所代表含义

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

    忽略某一类型的文件,如excel的.xlsx文件
相关推荐
知之则吱吱34 分钟前
亚马逊AWS云服务器高效使用指南:最大限度降低成本的实战策略
服务器·云计算·aws
cui_win1 小时前
每日一令:Linux 极简通关指南 - 汇总
linux·运维·服务器
知星小度S1 小时前
Linux权限探秘:驾驭权限模型,筑牢系统安全
linux·运维·服务器
Kaede64 小时前
如何应对Linux云服务器磁盘空间不足的情况
linux·运维·服务器
Zfox_6 小时前
Redis:Hash数据类型
服务器·数据库·redis·缓存·微服务·哈希算法
ABB自动化10 小时前
for AC500 PLCs 3ADR025003M9903的安全说明
服务器·安全·机器人
努力学习的小廉10 小时前
深入了解linux系统—— 进程池
linux·运维·服务器
秃头菜狗11 小时前
各个主要目录的功能 / Linux 常见指令
linux·运维·服务器
利刃大大11 小时前
【在线五子棋对战】二、websocket && 服务器搭建
服务器·c++·websocket·网络协议·项目
vfvfb11 小时前
bat批量去掉本文件夹中的文件扩展名
服务器·windows·批处理·删除扩展名·bat技巧