阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Ubuntu 14.04快速搭建SVN服务器及日常使用

444次阅读
没有评论

共计 4044 个字符,预计需要花费 11 分钟才能阅读完成。

1、介绍
  Subversion 是一个自由,开源的版本控制系统,这个版本库就像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况。这样就可以很方面恢复到以前的版本,并可以查看数据更改细节。目前,Subversion 已成为主流的开源代码版本管理软件之一,简称 SVN。
2、SVN 相关命令了解
  svn:命令行客户端
  svnadmin:用来创建、调整或修复版本库的工具
  svnserve:svn 服务程序
  svndumpfilter:过滤 svn 版本库转储数据流的工具
  svnsync:svn 数据同步工具,实现另外存一份相同的
  svnlook:用来查看办本科中不同的修订版和事务
3、两种运行模式
  3.1 利用 svnserve 作为独立服务运行,通过 svn 协议访问

  3.2 借助 mod_dev_svn 模块,由 apache 服务运行(Web/DAV), 通过 http 或 https 协议访问。想了解此运行模式可以参考着篇:http://www.linuxidc.com/Linux/2013-12/94315.htm

4、安装与部署
对于 Ubuntu 来说,装个 SVN 是件很容易的事,Ubuntu 14.04 可以直接通过 apt 软件包管理安装。
  4.1 直接安装
  # sudo apt-get install subversion
  4.1 创建版本库
  # sudo mkdir /home/svn 
  # sudo svnadmin create /home/svn/repos
  4.2 了解版本库
  # 进入版本库查看生成的相关文件
  # cd /home/svn/repos/
  # ls
  conf  db  format  hooks  locks  README.txt
  # 我们主要关心的是 conf 和 db 文件,conf 文件夹下是存放主配置文件和用户、权限位置,db 文件夹是存放 svn 转储后的数据。
  # cd conf/
  # ls
  authz  passwd  svnserve.conf
  # authz 文件是设置用户权限,passwd 文件是存储用户及密码,svnserve.conf 是主配置文件,先配置主配置文件。
  4.3 配置版本库
  # sudo vi svnserve.conf  #将以下参数去掉注释
  [general]
  anon-access = none    #匿名访问权限,默认 read,none 为不允许访问
  auth-access = write  #认证用户权限 
  password-db = passwd  #用户信息存放文件,默认在版本库 /conf 下面,也可以绝对路径指定文件位置
  authz-db = authz

  # sudo vi passwd    #格式是用户名 = 密码,采用明文密码
  [users]
  xiaoming = 123
  zhangsan = 123
  lisi = 123

    # sudo vi authz 
  [groups]          #定义组的用户
  manager = xiaoming
  core_dev = zhangsan,lisi
  [repos:/]          #以根目录起始的 repos 版本库 manager 组为读写权限
  @manager = rw
  [repos:/media]    #core_dev 对 repos 版本库下 media 目录为读写权限
  @core_dev = rw

  4.4 启动 svn 服务
  # sudo svnserve -d -r /home/svn
  # 查看是否启动成功,可看的监听 3690 端口
  # sudo netstat -antp |grep svnserve
  tcp    0      0 0.0.0.0:3690    0.0.0.0:*      LISTEN    28967/svnserve
  # 如果想关闭服务,可使用 pkill svnserve
  4.5 访问 svn
  # 访问 repos 版本库地址
  svn://192.168.1.100/repos
  # 访问 repos/media 目录地址
  svn://192.168.1.100/repos/media
  # Windows 下客户端访问 svn 服务器
  客户端下载地址:http://tortoisesvn.net/downloads.html
  连接方式:安装客户端后 –> 右击桌面 –> 点 TortoiseSVN –> 选择 Repo-breowser –> 输入 URL(svn://192.168.1.100/repos)–> 输入 manager 组的 xiaoming 用户和密码登录 –> 登录后右击即可上传和删除文件
 
5、常用 svn 命令
  5.1 获取当前最新修订版本号
  svnlook youngest /home/svn/repos
  5.2 将服务器上代码目录同步到本地目录
  svn checkout svn://192.168.1.100/repos/media /svn –username zhangsan –password 123 
  #不指定同步到本地目录(/svn)默认是当前目录,也可以不指定用户名和密码,需要手动输入。或使用简写 svn co “svn://…”。
  5.3 把新建文件提交到 svn 版本库
  具体步骤:
  a) cd /svn    #切换到本地代码目录,
  b) svn add filename 
  #将文件加入 svn 管理,此时并未提交完成,另外提交文件也要在 /svn 目录,否则报 ”svn: ‘..’ is not a working copy”
  c) svn ci filename 
  #添加注释说明并提交文件,此时会用 nano 编辑器打开,添加注释说明后按 ctrl+x,再按 y,最后回车完成提交
  5.4 把修改后的文件提交到 svn
  svn commit -m “ 注释说明 ” filename
  5.5 更新代码到最新版本
  # 将代码目录所有文件更新到最新版本
  svn update 
  # 将某个文件还原到某个版本
  svn update -r 85 filename #85 是修订版号
  5.6 对代码加锁 / 解锁
  # 加锁
  svn lock -m “ 注释说明 ” filename
  # 解锁
  svn unlock filename
  5.7 代码更新冲突
  如果提交时提供过期的话,说明代码冲突,需先 svn update filename,再执行 svn resolved filename,最后提交 svn commit -m “ 注释说明 ” filename
  5.8 查看日志
  svn log filename
  5.9 查看文件信息
  svn info filename
  5.10 版本库合并
  把库 1 合并到库 2 中:先把库 2 代码 checkout 到本地目录(svn co url2),再进此目录执行迁移(svn merge url1)即可
6、备份方式
  6.1 svnadmin dump 是官方推荐的备份方式,适用于量小(100G 左右)版本库备份,可增量备份,备份恢复较慢。
  6.2 svnadmin hotcopy 是全量热拷贝的工具,因此磁盘占用多,适用于量大(100G 以上)版本库备份,但不能达到增量备份效果,备份恢复快。
  6.3 svnsync 是一种实时备份方式,将数据完全复制到另一台版本库,当这台机器故障,可迅速切换到备份那台。
7、备份与恢复
  7.1 svnadmin dump 备份
  # 完整备份
  svnadmin dump /home/svn/repos > YYmmdd_fully_backup.svn
  # 完整压缩备份
  svnadmin dump /home/svn/repos | gzip > YYmmdd_fully_backup.gz
  # 备份恢复
  svnadmin load /home/svn/repos < YYmmdd_fully_backup.svn
  zcat YYmmdd_fully_backup.gz | svnadmin load repos
  ### 增量备份 ###
  # 先完整备份
  svnadmin dump /home/svn/repos -r 0:100 > YYmmdd_incremental_backup.svn
  # 再增量备份
  svnadmin dump /home/svn/repos -r 101:200 –incremental > YYmmdd_incremental_backup.svn
  7.2 svnadmin hotcopy 备份

  # 备份
  svnadmin hotcopy /home/svn/repos YYmmdd_fully_backup –clean-logs
  # 恢复
  svnadmin hotcopy YYmmdd_fully_backup /home/svn/repos

Ubuntu 14.04 下搭建 SVN 服务器 svn://  http://www.linuxidc.com/Linux/2015-01/111956.htm

CentOS 6.2 SVN 搭建 (YUM 安装) http://www.linuxidc.com/Linux/2013-10/91903.htm

CentOS 6.5 部署 Apache+SVN  http://www.linuxidc.com/Linux/2013-12/94315.htm

Apache+SVN 搭建 SVN 服务器 http://www.linuxidc.com/Linux/2013-03/81379.htm

Windows 下 SVN 服务器搭建和使用 + 客户端重新设置密码 http://www.linuxidc.com/Linux/2013-05/85189p5.htm

Ubuntu Server 12.04 安装 SVN 并迁移 Virtual SVN 数据 http://www.linuxidc.com/Linux/2013-05/84695.htm

Ubuntu Server 搭建 svn 服务以及迁移方法 http://www.linuxidc.com/Linux/2013-05/84693.htm

更多 Ubuntu 相关信息见Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-05/117735.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计4044字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7984835
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

  开源 MoneyPrinterTurbo 利用 AI 大模型,一键生成高清短视频! 在短视频内容...
星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛 NAS-14:解锁公网自由!Lucky 功能工具安装使用保姆级教程 作为 NAS 玩家,咱们最...
国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号 AI 知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率 大家好,我是星哥,...
星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛 NAS-12:开源笔记的进化之路,效率玩家的新选择 前言 如何高效管理知识与笔记,已经成为技术...
星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定!

星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定!

星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定! 前言 作为 NAS 玩家,你是否总被这些...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定!

星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定!

星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定! 前言 作为 NAS 玩家,你是否总被这些...
告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

  告别 Notion 焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁” 引言 在数字笔记工...
颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

  颠覆 AI 开发效率!开源工具一站式管控 30+ 大模型 ApiKey,秘钥付费 + 负载均衡全...
把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地 大家好,我是星哥,今天教大家在飞牛 NA...
12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换,告别多工具切换

12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换,告别多工具切换

12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换...