Centos7部署SVN

news2024/11/24 5:03:32

文章目录

    • (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
    在这里插入图片描述
  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文件
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1307770.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

nvm 的使用 nvm 可以快速的切换 nodejs 的版本

nvm 是什么? nvm 是一个 node 的版本管理工具,可以简单操作 node 版本的切换、安装、查看。。。等等,与 npm 不同的是,npm 是依赖包的管理工具。 nvm 下载安装 安装之前需要先把 自己电脑上边的 node 给卸载了!!!! 很重要 下载地…

2023前端面试题总结:JavaScript篇完整版

前端面试题库 (面试必备) 推荐:★★★★★ 地址:前端面试题库 JavaScript基础知识 JavaScript有哪些数据类型,它们的区别? Number(数字): 用于表示数值,可…

js 转换为数组并返回(Array.of())

Array提供了方法直接将一组值转换为数组并返回 Array.of()方法 Array.of(1,2,3) 结果

【Let‘s Encrypt SSL】使用 acme.sh 给 Nginx 安装 Let’s Encrypt 提供的免费 SSL 证书

安装acme.sh 安装 acme.sh 并设置邮箱用来接受重要通知,如证书快过期未更新通知 curl https://get.acme.sh | sh -s emailmyexample.com执行命令后几秒就安装好了,如果半天没有反应请 CtrlC 后重新执行命令。acme.sh 安装在 ~/.acme.sh 目录下&#xf…

Vim 搜索多个关键字并高亮

在查看代码或日志的时候,经常会需要搜索某个关键字。VIM搜索时,会把关键字高亮显示,还是比较方便的。 可是,一个关键字往往是不够的,能否支持多个关键字查找呢?答案是肯定的。应该怎么操作呢? 其…

GIT的后悔药

版本回退 上篇咱们说过,GIT能够管理文件的历史版本,这也是版本控制器重要的能力。如果有一天你发现之前做的工作出现很大问题,需要在某个特定的历史版本重新开始,这个时候,就需要版本回退的功能了。执行git reset命令…

【数据结构(十二·图)】图的相关知识(包括深度优先遍历和广度优先遍历)

文章目录 1. 图的基本介绍1.1. 图的举例说明1.2. 图的常用概念 2. 图的表示方式2.1. 邻接矩阵2.2. 邻接表 3. 应用案例4. 图的遍历4.1. 深度优先遍历4.1.1. 基本思想4.1.2. 算法步骤4.1.3. 代码实现 4.2. 广度优先遍历4.2.1. 基本思想4.2.2. 算法步骤4.2.3. 代码实现 4.3. 图的…

跨域解决方案详解

文章目录 同源策略PostMessageWebsocket跨域资源共享(CORS)两种请求简单请求基本流程withCredentials 属性 需预检的请求预检请求预检请求的回应浏览器的正常请求和回应示例 Nginx反向代理Node中间件代理搭建node代理服务使用现成的node代理服务 JSONP前…

PhotoMaker——通过堆叠 ID 嵌入定制逼真的人像照片

论文网址链接:https://arxiv.org/abs/2312.04461 详情网址链接:PhotoMaker 开源代码网址链接:GitHub - TencentARC/PhotoMaker: PhotoMaker 文本到图像AI生成的最新进展在根据给定文本提示合成逼真的人类照片方面取得了显着进展。然而&#…

opencv,C++中cv下的函数都无法解释,并且报错为链接器工具错误 LNK2001

检查链接器中的附加依赖项目 opencv_word4.81.lib (release 版本) opencv_word4.81d.lib (debug 版本) 要和这里相对应,不然就会报连接器的错误。

快速二维相位解包算法基于按照非连续路径进行可靠性排序

Miguel Arevallilo Herra ez, David R. Burton, Michael J. Lalor, and Munther A. Gdeisat 摘要: 据我们所知,我们描述了一种新的相位展开技术。已经提出了几种基于首先展开最可靠像素的算法。这些仅限于连续路径,并且在定义起始像素时会遇…

[BUUCTF 2018]Online Tool1

提示 利用nmap上传文件 首先进行代码分析: 首先是进行判断http信息头里是否在HTTP_X_FORWARDED_FOR并且是否有参数 $_SERVER[“HTTP_X_FORWARDED_FOR”] 的值才是客户端真正的IP(如果是多层代理,该值可能是由客户端真正IP和多个代理服务…

VLAN详细学习

文章目录 VLAN概念VLAN种类端口VLAN工作原理以太网的三种链路类型配置 VLAN概念 一种讲局域网设备从逻辑上划分为一个个网段,从而实现虚拟网络的一种技术,这一技术主要应用于交换机中。Vlan技术是技术在以太网帧的基础上增加vlan头,用VLAN I…

Esxi虚拟机无法添加加密狗处理

原创作者:运维工程师 谢晋 Esxi虚拟机无法添加加密狗处理 前提纪要添加直通模式 前提纪要 客户将加密狗插在Esxi主机上,并给虚拟机添加USB控制器再添加加密狗设备,但添加时候报错无法识别加密狗(如下图)&#xff0…

UDP分片与丢包,UDP真的比TCP高效吗?

一、UDP 报文格式 每个 UDP 报文分为 UDP 报头和 UDP 数据区两部分。报头由 4 个 16 位长(2 字节)字段组成,分别说明该报文的源端口、目的端口、报文长度和校验值。 UDP 报文格式如图所示。 UDP 报文中每个字段的含义如下: 源端…

【力扣】2.两数相加

2.两数相加 这是第二题,还行豁~。 题解: 首先就是对题目的理解。这里你要知道两链表中数字的排列都是逆序的,也就是说示例一中2-4-3他原本的数字应该是342。同理可得下面链表的意思,二者相加所得到的结果也是逆序的,…

boost编译静态库

版本1_83_0 下载地址https://boostorg.jfrog.io/artifactory/main/release/1.83.0/source/boost_1_83_0.zip 解压后根目录可见 参考方式:打开index.html 可通过此路径找到编译方法 进入getting started,右下角有linux和windows的下一步可选&#xff0…

探索云测试的方法:优化软件质量的新趋势

随着云计算技术的不断发展,云测试成为提高软件质量和效率的关键方法之一。本文将介绍一些云测试的方法,以帮助团队更好地应对不同的测试需求和挑战。 1. 云测试环境搭建 传统测试中,搭建测试环境可能需要大量的时间和资源。云测试通过提供可扩…

C++面向对象(OOP)编程-友元(友元函数和友元类)

本文主要介绍面向对象编程的友元的使用,以及友元的特性和分类,提供C代码。 1 为什么引进友元 面向对象编程(OOP)的三大特性中的封装,是通过类实现对数据的隐藏和封装。一般定义类的成员变量为私有成员,成员…

中伟视界:水位识别、智能化巡检、远程监控,提升智慧河道管理效率

随着现代科技的发展,人工智能(AI)算法在各行各业中的应用越来越广泛。特别是在水利行业中,智慧河道的运营管理已成为了一个重要的课题。本文将探讨如何利用AI算法优化智慧河道的运营效率,以及如何通过水位识别视频分析…