Subversion(SVN)是一个开源的版本控制系統,管理着随时间改变的数据。这些数据放置在一个中央资料档案库中,这个档案库很像一个普通的文件服务器,它会记住每一次文件的变动,这样就可以把档案恢复到旧的版本,或是浏览文件的变动历史。

本文目录:
Linux svn服务器部署
linux svn客户端命令操作
linux svn备份与恢复
一、linux svn服务器部署
1、安装svn
[root@yang~]#yum install -y subversion [root@yang~]#svnserve--version svnserve,version 1.6.11 (r934486)
2、创建SVN版本库
[root@yang~]# mkdir /data/svn [root@yang~]# svnadmin create /data/svn/project [root@yangproject]# ls /data/svn/project/ conf db format hooks locks README.txt
3、配置SVN
[root@yangproject]# cd /data/svn/project/conf/ [root@yangconf]# ls authz passwd svnserve.conf
文件说明:
1)svnserve.conf: svn服务配置文件下。
2)passwd: 用户名密码文件。
3)authz: svn权限配置文件。
svnserve.conf文件
该文件配置项分为以下5项:
anon-access: 控制非鉴权用户访问版本库的权限。
auth-access: 控制鉴权用户访问版本库的权限。
password-db: 指定用户名口令文件名。
authz-db: 指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。
realm: 指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的认证域相同,建议使用相同的用户名口令数据文件
配置如下:
[root@yangconf]# grep -E "anon-access =|auth-access =|password-db =|authz-db =|realm=" svnserve.conf anon-access = none auth-access = write password-db = passwd authz-db = authz realm = /data/svn/project
passwd文件
作用是配置用户名和密码
[root@yangconf]# cat passwd [users] yangyun= yangyunpasswd test = testpasswd
authz文件
配置用户访问权限
[root@yangconf]# cat authz |grep -v '#' [aliases] [groups] project_w=yangyun project_r=test [/] project_w=rw project_r=r
4、启动svn服务
[root@yangconf]# svnserve -d -r /data/svn
5、初始化svn数据
[root@yangdjango]# svn import mysite file:///data/svn/project/ -m 'initial import'
将会拷贝目录mysite到版本库的project下
[root@yangdjango]# svn list file:///data/svn/project manage.py mysite/ static/ templates/ web02/
在导入之后,原来的目录树并没有转化成工作拷贝,为了开始工作,还是需要运行svn checkout导出一个工作拷贝。
二、linux svn客户端命令操作
1、将文件checkout到本地目录
svn checkout path(path是服务器上的目录)
简写:svn co
例:
svn co svn://115.28.24.178/project --username=yangyun --password=yangyunpasswd #指定版本的文件 svn co svn://115.28.24.178/project --username=yangyun --password=yangyunpasswd -r 5
2、往本地版本库中添加新的文件
svn add file #此命令得在checkout出来的路径里才能操作
例如:
cp /root/123.txt./ svn add 123.txt #把123.txt加入到本地库中 A 123.txt
3、将改动的文件提交到版本库
svn commit -m "LogMessage" [-N] [--no-unlock] PATH(如果选择了保锁,就使用--no-unlock开关)
简写:svn ci
例:
svn commit 123.txt -m 'add 123.txt' #只提交123.txt svn commit -m 'add 123.txt' #默认提交当前目录下的所以文件 svn commit *.txt -m 'add 123.txt' #也可以正则匹配文件提交
4、加锁/解锁
svn lock -m "LockMessage" [--force] PATH
例如:
svn lock -m "lock test file" test.PHP svn unlock PATH
5、更新到某个版本
svn update -r m path
例如:
svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。
svn update -r 200 test.php(将版本库中的文件test.php还原到版本200
svn update test.php(更新,于版本库同步。如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后清除svn resolved,最后再提交commit
简写:svn up
6、删除文件
svn delete path -m "delete test fle"
例如:svn delete svn://192.168.1.1/pro/domain/test.php -m "delete testfile"
或者直接svn delete test.php 然后再svn ci -m 'delete testfile‘,推荐使用这种
简写:svn (del, remove, rm)
7、查看日志
svn log path
例如:svn log test.php 显示这个文件的所有修改记录,及其版本号的变化
8、查看文件详细信息
svn infopath
例如:svn info test.php #可知道路径版本,时间,提交者等信息
9、比较差异
svn diff path(将修改的文件与基础版本比较)
例如:svn diff test.php
svn diff -r m:n path(对版本m和版本n比较差异)
例如:svn diff -r 200:201 test.php #可知道修改了哪些内容
简写:svn di
10、将两个版本之间的差异合并到当前文件
svn merge -r m:n path
例如:svn merge -r 200:205 test.php(将版本200与205之间的差异合并到当前文件,但是一般都会产生冲突,需要处理一下)
11、SVN 帮助
svn help
svn help ci
12、版本库下的文件和目录列表
svn list path #显示path目录下的所有属于版本库的文件和目录
简写:svn ls
13、创建纳入版本控制下的新目录
svn mkdir:创建纳入版本控制下的新目录。
用法:
svn mkdirPATH #效果等同:mkdir test;svn add test;
14、恢复本地修改
svn revert:恢复原始未改变的工作副本文件 (恢复大部份的本地修改)。
revert:
用法: revert PATH...
注意: 本子命令不会存取网络,并且会解除冲突的状况。但是它不会恢复被删除的目录
三、linux svn备份与恢复
1、全量备份:
curr=`svnlook youngest /data/svn/project/` #此处是查询工程目录的最新版本 svnadmin dump /data/svn/repos/test --revision 0:$cur --incremental >0-"$curr"svn.bak echo $curr >/tmp/svn_revision
2、增量备份
old=`cat /tmp/svn_revision` new=`svnlook youngest /data/svn/project/` svnadmin dump /data/svn/repos/test --revision $old:$new --incremental >$old"-"$new"svn.bak
3、svn恢复
恢复顺序从低版本逐个恢复到高版本;即,先恢复最近的一次完整备份,然后恢复紧挨着这个文件的增量备份。
cd /data/svn/repos/ svnadmin create test2 svnadmin load test2 < /data/svnback/20110719/0-1112svn.bak svnadmin load test2 < /data/svnback/20110719/1113-1120svn.bak
# svn服务器搭建
# svn服务器备份与恢复
# 搭建SVN服务器详细教程(图文)
# SVN服务器搭建图文教程
# 从0开始搭建SVN服务器(图文详解)
# 图解SVN服务器搭建和使用(一)
# 服务器SVN搭建图文安装过程
# 库中
# 最新版本
# 目录下
# 该文件
# 配置文件
# 新到
# 客户端
# 是一个
# 并到
# 是因为
# 将会
# 推荐使用
# 然后再
# 可以实现
# 在一
# 它会
# 很像
# 即在
# 开源
# 一个普通
相关文章:
公司网站设计制作厂家,怎么创建自己的一个网站?
定制建站流程步骤详解:一站式方案设计与开发指南
怎么将XML数据可视化 D3.js加载XML
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
如何在建站之星网店版论坛获取技术支持?
Thinkphp 中 distinct 的用法解析
网站制作价目表怎么做,珍爱网婚介费用多少?
新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?
建站为何优先选择香港服务器?
,网站推广常用方法?
c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】
焦点电影公司作品,电影焦点结局是什么?
如何在企业微信快速生成手机电脑官网?
网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?
网站图片在线制作软件,怎么在图片上做链接?
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
如何在IIS7上新建站点并设置安全权限?
建站主机如何安装配置?新手必看操作指南
如何在七牛云存储上搭建网站并设置自定义域名?
网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些?
建站之星如何实现五合一智能建站与营销推广?
建站之家VIP精选网站模板与SEO优化教程整合指南
PHP 500报错的快速解决方法
详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
,想在网上投简历,哪几个网站比较好?
如何通过虚拟主机空间快速建站?
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
建站之星3.0如何解决常见操作问题?
北京网页设计制作网站有哪些,继续教育自动播放怎么设置?
网站规划与制作是什么,电子商务网站系统规划的内容及步骤是什么?
如何设置并定期更换建站之星安全管理员密码?
,在苏州找工作,上哪个网站比较好?
建站之星IIS配置教程:代码生成技巧与站点搭建指南
如何通过cPanel快速搭建网站?
潍坊网站制作公司有哪些,潍坊哪家招聘网站好?
网站制作中优化长尾关键字挖掘的技巧,建一个视频网站需要多少钱?
官网建站费用明细查询_企业建站套餐价格及收费标准指南
智能起名网站制作软件有哪些,制作logo的软件?
建站之星×万网:智能建站系统+自助建站平台一键生成
昆明高端网站制作公司,昆明公租房申请网上登录入口?
网站代码制作软件有哪些,如何生成自己网站的代码?
制作网页的网站有哪些,电脑上怎么做网页?
上海网站制作网站建设公司,建筑电工证网上查询系统入口?
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
如何快速搭建安全的FTP站点?
Swift中switch语句区间和元组模式匹配
建站之星微信建站一键生成小程序+多端营销系统
企业网站制作费用多少,企业网站空间一般需要多大,费用是多少?
广平建站公司哪家专业可靠?如何选择?
*请认真填写需求信息,我们会在24小时内与您取得联系。