Ubuntu14.04快速搭建SVN服务器及日常使用

Ubuntu14.04快速搭建SVN服务器及日常使用,第1张

Ubuntu14.04快速搭建SVN服务器及日常使用

1。导言

Subversion是一个免费的开源版本控制系统。这个版本库就像一个普通的文件服务器。不同的是,它可以记录文件和目录的每次修改。这样,您可以很容易地恢复到以前的版本,并且可以检查数据更改的细节。目前,Subversion已经成为主流的开源代码版本管理软件之一,简称SVN。

2。了解SVN相关命令

Svn:命令行客户端

Svnadmin:用于创建、调整或修复版本库的工具。

SVNserver:SVN服务程序

Svndumpfilter:过滤svn版本库转储数据流的工具

Svnsync:svn数据同步工具保存相同的另一个副本

Svnlook:用于查看本科课程中的不同修订和事务。

3。两种 *** 作模式

3.1将svnserve作为独立服务,通过svn协议访问。

3.2借助mod_dev_svn模块,由apache服务(Web/DAV)运行,通过http或https协议访问。要了解这种运作模式,可以参考一篇博文:http://lizhenliang.blog.51cto.com/7876557/1340646.

4。安装和部署

对于Ubuntu来说,安装SVN是非常容易的,可以通过apt包直接管理。

4.1直接安装

#sudoapt-get安装版本

4.1创建版本库

#sudomkdir/home/svn

#sudosvnadmin创建/主页/服务/回购

4.2了解版本库

#进入版本库查看生成的相关文件。

#cd/home/svn/repos/

#ls

confdb格式挂钩锁定README.txt

#我们主要关心的是conf和db文件。conf文件夹下是存储主要配置文件、用户和权限的位置,而db文件夹是svn转储后的数据。

#cdconf/

#ls

authzpasswdsvnserve.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启动服务服务

#sudosvnserve-d-r/home/svn

#检查启动是否成功。可以看监控端口3690。

#sudonetstat-antp|grep服务

TCP0000000:369000000:*列表EN28967/SVN服务器

#如果想关闭服务,可以使用pkillsvnserve。

4.5访问svn

#访问回购版本库地址

svn://192.168.1.100/repos

#访问回购/媒体目录地址

SVN://192.168.1.100/repos/media

#客户端在Windows下访问svn服务器

客户地址:http://tortoisesvn.net/downloads.html

连接方法:安装客户端后->:右击桌面->;点Tortoisesvn->:选择repo-brewer->:输入URL(SVN://192.168.1.100/repos)->:输入管理者组的小名用户和密码登录->:登录后右键上传和删除文件。


博客:http://lizhenliang.blog.51cto.com

5。常见的svn命令

5.1获取最新版本号

SVNlookyourtest/home/SVN/repos

5.2将服务器上的代码目录同步到本地目录

SVNcheckoutSVN://192.168.1.100/repos/media/SVN-用户名张三-密码123

#不要指定同步到本地目录(/svn)。默认为当前目录,或者您可以不指定用户名和密码,这需要手动输入。或者使用缩写SVNco“SVN://...”。

5.3向svn版本库提交新文件

具体步骤:

A)cd/svn#切换到本地代码目录,

b)svn添加文件名

#将文件添加到svn管理,此时尚未提交。另外,提交的文件应该在/svn目录下,否则,会报告为“svn:..”不是工作副本"

c)svnci文件名

#添加注释并提交文件,该文件将使用nanoeditor打开。添加评论后,按ctrl+x,然后按Y,最后按Enter完成提交。

5.4将修改后的文件提交给svn

Svcommit-m“注释描述”文件名

5.5将代码更新至最新版本

#将代码目录的所有文件更新到最新版本

svn更新

#将文件还原到某个版本

Svupdate-r85filename#85是版本号

5.6锁定/解锁代码

#锁定

Svlock-m“注释描述”文件名

#解锁

svn解锁文件名

5.7代码更新冲突

如果提交时逾期,说明代码冲突。首先需要更新svn文件名,然后执行SVN解析文件名,最后提交svncommit-m“注释描述”文件名。

5.8检查日志

svn日志文件名

5.9检查文件信息

svn信息文件名

5.10版本库合并

将库1合并到库2:首先将库2代码签出到本地目录(svncourl2),然后进入这个目录进行迁移(svnmergeurl1)。

6。备份方法

6.1svnadmindump是官方推荐的备份方式,适用于小版本库(100G左右)的备份。它可以增量备份,并且备份恢复很慢。

6.2svnadminhotcopy是一个全卷热拷贝的工具,所以占用磁盘比较多,适合大卷(100G以上)版本库的备份,但是不能达到增量备份的效果,备份恢复比较快。

6.3svnsync是一种实时备份方式,将数据完全复制到另一个版本库中。当这台机器发生故障时,它可以迅速切换到备用机器上。

7,备份和恢复

7.1svnadmin转储备份

#完整备份

svnadmindump/home/SVN/repos>;YYmmdd_fully_backup.svn

#完全压缩备份

svnadmindump/home/SVN/repos|gzip>;YYmmdd_fully_backup.gz

#备份恢复

svnadminload/home/SVN/repos<;YYmmdd_fully_backup.svn

zcatYYmmdd_fully_backup.gz|SVNadmin加载仓库

###增量备份##

#首先进行完整备份

svnadmindump/home/SVN/repos-r0:100>;YYmmdd_incremental_backup.svn

#再次增量备份

svnadmindump/home/SVN/repos-r101:200-incremental>;YYmmdd_incremental_backup.svn

7.2svnadmin热拷贝备份

#备份

svnadminhotcopy/home/SVN/reposYYmmdd_fully_backup-clean-logs

#恢复

svnadminhotcopyYYmmdd_fully_backup/home/SVN/repos


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/782497.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-04
下一篇 2022-05-04

发表评论

登录后才能评论

评论列表(0条)

保存