linux svn服务器搭建、客户端 *** 作、备份与恢复

linux svn服务器搭建、客户端 *** 作、备份与恢复,第1张

linuxsvn服务器搭建、客户端 *** 作、备份与恢复

Subversion(SVN)是一个开源版本控制系统,它管理随时间变化的数据。这些数据存储在中央数据存储库中,这很像普通的文件服务器。它将记住每一个文件的变化,以便您可以恢复文件到旧版本或浏览文件的变化历史。


本文内容:

Linuxsvn服务器部署

Linuxsvn客户端命令 *** 作

Linuxsvn备份和恢复

一、linuxsvn服务器部署

1.安装svn

[root@杨~]#yuminstall-ysubversion

[root@杨~]#svnserve-version

svnserve,版本1.6.11(r934486)

2.创建SVN版本库

[root@杨~]#mkdir/data/svn

[root@yang~]#SVNadmincreate/data/SVN/project

[root@yangproject]#ls/data/SVN/project/

confdb格式挂钩锁定README.txt

3.配置SVN

[root@yangproject]#CD/data/SVN/project/conf/

[root@yangconf]#ls

authzpasswdsvnserve.conf

文档描述:

1)svnserve.conf:在SVN服务配置文件下。

2)passwd:用户名密码文件。

3)AuthZ:SVN权限配置文件。

Svnserve.conf文件

该文件配置项分为以下五项:

Anon-access:控制未经身份验证的用户对版本库的访问权限。

Auth-access:控制经过身份验证的用户对版本库的访问权限。

Password-db:指定用户名密码文件名。

Authz-db:指定权限配置文件的文件名,通过权限配置文件可以实现基于路径的访问控制。

Realm:指定版本库的认证域,即登录时提示的认证域名。如果两个版本库的认证域相同,建议使用相同的用户名和密码数据文件。

配置如下:

[root@yangconf]#grep-E"anon-access=|auth-access=|password-db=|authz-db=|realm="SVNserve.conf

匿名访问=无

授权访问=写入

密码-db=passwd

authz-db=authz

realm=/data/svn/project

密码文件

它用于配置用户名和密码。

[root@yangconf]#猫密码

[用户]

杨云=阳云护照

test=testpasswd

Authz文件

配置用户访问权限

[root@yangconf]#catauthz|grep-v'#'

[别名]

[组]

项目_w=杨云

project_r=测试

[/]

project_w=rw

project_r=r

4.启动svn服务

[root@yangconf]#SVNserve-d-r/data/SVN

5.初始化svn数据

[root@yangjango]#SVN导入我的站点文件:///data/svn/project/-m'初始导入'

目录mysite将被复制到项目下的版本库中。

[root@yangjango]#SVN列表文件:///data/svn/project

manage.py

我的网站/

静态/

模板/

web02/

导入后,原始目录树不会转换为工作副本。为了开始工作,您仍然需要运行svncheckout来导出工作副本。

二、linuxsvn客户端命令 *** 作

1.将文件签出到本地目录。

Svcheckout路径(路径是服务器上的目录)

缩写:svn公司

示例:

SVNcoSVN://115.28.24.178/project-username=杨云-password=yangyunpasswd

#文件的指定版本

SVNcoSVN://115.28.24.178/project-username=杨云-password=yangyunpasswd-r5

2.向本地版本库中添加新文件。

Svaddfile#该命令只能在检出的路径中 *** 作。

例如:

cp/root/123.txt./

将123.txt添加到本地库

A123.txt

3.将更改的文件提交到版本库。

Svcommit-m"日志消息"[-n][-no-unlock]路径(如果选择了锁定保护,请使用-no-unlock开关)

缩写:svnci

示例:

Svcommit123.txt-m'add123.txt'#只会提交123.txt

Svcommit-m'add123.txt'#默认提交当前目录下的所有文件。

Svcommit*。txt-m'add123.txt'#也可以在常规匹配文件中提交

4.锁定/解锁

svnlock-m"LockMessage"[-force]路径

例如:

svn锁-m“锁测试文件”test.php

svn解锁路径

5.更新到某个版本。

svn更新-rm路径

例如:

SVUPDATE如果后面没有目录,默认情况下当前目录和子目录下的所有文件都会更新到最新版本。

Svupdate-r200test.php(将版本库中的文件test.php恢复到版本200

Svupdatetest.php(已更新,与版本库同步。如果提交时提示过期,则是由于冲突。您需要首先更新和修改文件,然后清除svnresolved,最后提交commit。

缩写:svnup

6.删除文件

svn删除路径-m“删除测试文件”

例如:SVN删除SVN://192.168.1.1/pro/domain/test.PHP-m“删除测试文件”

或者直接SVN删除test.php,然后svnci-m'删除测试文件'',这是推荐的。

缩写:svn(del,remove,rm)

7.检查日志。

svn日志路径

例如,test.phpSVN日志显示该文件的所有修改记录及其版本号的变化。

8.检查文件详细信息。

svninfopath

比如SVNinfotest.php#可以知道路径的版本、时间、提交者等信息。

9.比较不同之处。

Svdiff路径(将修改后的文件与基本版本进行比较)

例如:test.phpSVN差异

Svdiff-rm:n路径(比较版本m和版本n的区别)

例如,test.php#可以知道SVNDiff-R200:201修改了什么。

缩写:svndi

10.将两个版本之间的差异合并到当前文件中。

svn合并-rm:n路径

比如:test.phpSVN合并-R200:205(版本200和205的差异合并到当前文件,但是总会有冲突,需要处理)

1.SVN帮助

svn帮助

svn帮助配置项

12.版本库下的文件和目录列表

Svlistpath#显示路径目录下属于版本库的所有文件和目录。

缩写:svnls

13.在版本控制下创建一个新目录。

Svmkdir:在版本控制下创建一个新目录。

用法:

svmkdirpath#的效果等同于mkdir测试;svn添加测试;

14.恢复本地修改。

Svrevert:恢复原始未更改的工作副本文件(恢复大多数本地修改)。

还原:

用法:还原路径...

注意:此命令不会访问网络,但会解决冲突情况。但是,它不会恢复已删除的目录。

三、linuxsvn备份与恢复

1.完整备份:

curr=`svnlookyoursely/data/SVN/project/`#这里是最新版本的查询项目目录。

svnadmindump/data/SVN/repos/test-revision0:$cur-incremental>;0-"$curr"服务返回

echo$curr>/tmp/svn_revision

2.增量备份

old=`cat/tmp/svn_revision'

new=`SVNlookyoursely/data/SVN/project/`

svnadmindump/data/SVN/repos/test-revision$old:$new-incremental>;$old"-"$new"svn.bak

3.svn恢复

恢复顺序是从低版本到高版本逐一恢复;即先还原最后一次完全备份,再还原该文件旁边的增量备份。

cd/data/svn/repos/

svnadmin创建测试2

svnadmin负载测试</data/SVNback/20110719/0-1112SVN.bak

svnadmin负载测试</data/SVNback/20110719/1113-1120SVN.bak


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

原文地址:https://54852.com/zz/783833.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存