SVN 集中式版本控制软件

简介:

目前流行的版本控制软件中,SVN ( 集中式版本控制 ) 算是使用范围更广、且使用时间更早的一款了,现在 git ( 分布式版本控制 ) 更火爆一点。

一、安装svn

[[email protected] ~]# yum -y install subversion
[[email protected] ~]# svn --version  #查看版本号
svn,版本 1.6.11 (r934486)

二、配置svn

1、创建工作目录及版本库

[[email protected] ~]# mkdir /svn
[[email protected] ~]# svnadmin create /svn/myrepos  #创建一个名为myrepos的版本库
[[email protected] ~]# ls /svn/myrepos/
[[email protected] ~]# tree /svn/myrepos/conf/
/svn/myrepos/conf/
├── authz  #用户授权配置文件
├── passwd  #用户认证配置文件
└── svnserve.conf  #服务配置文件

2、修改svn版本库配置文件(需要重启svnserver)

[[email protected] ~]# grep -vP ‘^#|^$‘ /svn/myrepos/conf/svnserve.conf
[general]
anon-access = none  #匿名用户访问权限
auth-access = write  #认证用户访问权限
password-db = passwd  #认证用户命名文件 
authz-db = authz  #目录授权文件
realm = My First Repository  #提示信息
[sasl]

3、添加认证用户、密码(username = password)

[[email protected] ~]# grep -vP ‘^#|^$‘ /svn/myrepos/conf/passwd
[users]
lys = liuyisai
qs = qingshan

4、添加目录授权

[[email protected] ~]# grep -vP ‘^#|^$‘ /svn/myrepos/conf/authz
[aliases]
[groups]
[myrepos:/]  #授权目录  
lys = rw  #授权认证用户lys(可读、可写)
qs = r  #授权认证用户qs(可读)
* =  #非授权认证用户(无权限)

5、以守护进程的方式启动svn

[[email protected] ~]# svnserve -d -r /svn  #-d 以守护进程的方式启动一个svnserver,-r 指定版本库

#默认监听TCP 3690 端口,以守护进程模式启动时,可以使用--list-port、--list-host来指定端口、主机

[[email protected] ~]# netstat -lnpt | grep 3690
tcp        0      0 0.0.0.0:3690                0.0.0.0:*                   LISTEN      3109/svnserve       

6、授权测试

[[email protected] ~]# svn checkout --no-auth-cache --username lys --password liuyisai svn://192.168.2.205/myrepos /home/lys/
取出版本 0。
[[email protected] ~]# svn checkout --no-auth-cache --username qs --password qingshan svn://192.168.2.205/myrepos /home/qs
取出版本 0。
[[email protected] ~]# touch /home/lys/readme  #创建测试文件
[[email protected] ~]# svn add /home/lys/readme   #添加到工作区
A         /home/lys/readme
[[email protected] ~]# svn --no-auth-cache --username lys --password liuyisai commit -m ‘add readme‘ /home/lys/readme
增加           home/lys/readme
传输文件数据.
提交后的版本为 1。
[[email protected] ~]# touch /home/qs/readme1
[[email protected] ~]# svn add /home/qs/readme1
A         /home/qs/readme1
[[email protected] ~]# svn --no-auth-cache --username qs --password qingshan commit -m ‘add readme1‘ /home/qs/readme1
svn: 提交失败(细节如下):
svn: 认证失败

三、停止svnserver


[[email protected] ~]# kill $(ps aux | grep svnserve | grep -v grep | awk ‘{print $2}‘)

四、svn备份、还原

1、逻辑备份(备份灵活、可以全量、增量备份--incremental、节省空间,适合版本库比较小的规模)

[[email protected] ~]# svnadmin dump /svn/myrepos > /data/backup/myrepos_$(date +%Y%m%d).bak

2、物理备份(占用空间大,备份、恢复速度快)

[[email protected] ~]# svnadmin hotcopy /svn/myrepos/ /data/backup/myrepos_hot_$(date +%Y%m%d).bak

3、逻辑还原

[[email protected] ~]# svnadmin load /svn/myrepos/ < /data/backup/myrepos_20161024.bak   #注意:如果版本库被删,还原以后还需重新配置认证用户、授权等!

4、物理还原

[[email protected] ~]# svnadmin hotcopy /data/backup/myrepos_hot_20161024.bak/  /svn/myrepos/

五、win客户端连接

1、下载、安装小乌龟 ( TortoiseSVN )

2、建立工作目录,右键 Checkout --> URL ( svn://192.168.2.205/myrepos ) --> 输入用户名、密码 ( lys / liuyisai )

3、测试授权,创建一个文件,添加,提交 看看是否很授权吻合 !

时间: 2024-10-23 16:54:41

SVN 集中式版本控制软件的相关文章

欺壹世充电系列之[Svn集中式版本管理系统]

Svn集中式版本管理系统 --欺壹世充电系列 一.svn服务器 1.什么是Svn svn(subversion)是一个垮平台的开源版本控制系统.管理随时间改变的各种数据.svn会备份并记录每个文件每一次的修改更新变动,这样我们就可以把任意一个时间点的档案恢复到想要的某一个旧的版本. 2.Svn与Git svn是集中式的管理,存在一个中央版本库,所有开发人员在本地开发所有使用的代码都来自于这个版本库,提交代码也都必须提交到这个中央版本库. svn版本控制系统流程如下: 1.在中央库上创建或从主干复

SVN集中式版本控制器的安装、使用与常见问题汇总

SVN是Subversion的简称,是一个开放源代码的版本控制系统,它采用了分支管理系统,集中式版本控制器 官方网站:https://www.visualsvn.com/ 下载右边的服务器端,左边的客户端收费,我们使用TortoiseSVN替代他即可 TortoiseSVN:TortoiseSVN 是 Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录.文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器.你可以将文件恢复到过去

细说SVN集中式版本控制器

svn全称Subversion,实现多人开发同一个项目时,对源代码进行管理的工具.在公司里边,一个项目是由多人同时在开发,大家在本地自己电脑开发php代码,完毕后就commit上传给服务器运行.  如图:多人开发同一个php程序文件(重叠部分代码),在做commit提交给服务器的时候,要造成文件彼此覆盖的问题. svn作用之一:解决文件覆盖,协作多人开发同一个项目的同一个文件问题. 一.什么是SVN 那么什么是SVN呢,下面就由我为大家细说,SVN是代码版本管理软件,管理着随时间改变的数据.这些

git与svn 集中式与分布式

集中式vs分布式 Linus一直痛恨的CVS及SVN都是集中式的版本控制系统,而Git是分布式版本控制系统,集中式和分布式版本控制系统有什么区别呢? 先说集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器.中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆. 集中式版本控制系统最大的毛病就是必须联网才能工作,如果在局域网

何为集中式版本控制系统与分布式版本控制系统?

什么是集中式版本控制系统与分布式版本控制系统? 集中式版本控制系统:版本库是集中放在中央服务器的,当我们实际工作的时候,用的都是自己的电脑,所以首先要连接中央服务器,从那里得到最新的版本,然后编写或者更改代码,干完后,需要把自己做完的活推送到中央服务器.集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就很郁闷了.     分布式版本控制系统:对于搞过大数据(Hadoop)或者大型数据库的朋友,对"分布式"这个概念一定很熟悉了

集中式版本控制系统:从svn到tfs

06年进公司的时候,我们没有使用版本控制系统,所有代码都在部门经理的电脑上放着,谁要改什么代码就过去要一份最新的,改好之后再放回去,感觉好原始.据说之前是用过一段时间微软的vss(visual.source.forge),曾经也搭建过vss服务器,但是中间不知道什么原因中断了,也就没有继续坚持了,可能是当时人还少,整个软件研发也就是10个人左右.所以没有使用版本控制也没有出什么大问题. 进公司之前,由于在matin fowler的<重构>中有提到版本控制系统,我就在自己电脑上搭建一个cvs服务

版本控制系统-集中式与分布式的区别

SVN和CVS都是集中式版本控制系统,而Git是分布式版本控制系统 集中式版本控制系统 版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器. 集中式版本控制系统最大的毛病就是必须联网才能工作,如果在局域网内还好,带宽够大,速度够快,可如果在互联网上,遇到网速慢的话,可能提交一个10M的文件就需要5分钟 分布式版本控制系统 分布式版本控制系统没有"中央服务器",每个人的电脑上都是一个完

集中式(CVS、SVN)VS分布式(Git)

集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器.中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆. 集中式版本控制系统最大的毛病就是必须联网才能工作,如果在局域网内还好,带宽够大,速度够快,可如果在互联网上,遇到网速慢的话,可能提交一个10M的文件就需要5分钟,这还不得把人给憋死啊. 那分布式版本控制系统与集中式版

源代码管理——git(分布式版本控制和集中式版本控制对比,git和SVN对比,git常用指令,搭建GitHub远程仓库,搭建oschina远程仓库 )

一.git简介 什么是git? git是一款开源的分布式版本控制工具 在世界上所有的分布式版本控制工具中,git是最快.最简单.最流行的 git的起源 作者是Linux之父:Linus Benedict Torvalds 当初开发git仅仅是为了辅助Linux内核的开发(管理源代码) git的现状 在国外已经非常普及,国内并未普及(在慢慢普及) 越来越多的开源项目已经转移到git CVS 最早的开源.免费的集中式版本控制工具 自身设计有问题,会造成提交文件不完整,版本库莫名其妙损坏的情况 SVN