svn在linux上的安装
什么是svn
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。
1. 性能提高。SVN不管文件是文本还是二进制类型,在内部都是以二进制差异比较算法来表示文件的更新部分。这表示所有的文件在文件库中都是以差异的形式储存。而且在网络上传输的,都是较小的文件差异部分。这也使创建分支、打标签、合并等操作可以非常快地完成.
2. 对目录的组织的管理更加方便。SVN不光对文件做版本跟踪,也会对目录做版本跟踪。因此可以根据项目的需要,对目录结构随时进行修改,可以把现有的目录移动到新的地方。
3. 保证提交操作的完整性。SVN对提交操作的处理方式类似数据库的事务处理,要么全部成功,要么全部无效,保证了原子性。
svn配置
mount /dev/cdrom /media/cdrom 挂载光驱
1.安装svn服务器端
yum install subversion 从镜像下载安装svn服务器端
cd /usr/local/ //进入目录,准备创建svn目录
mkdir svn //创建一个svn目录
chmod -R 777 svn //修改目录权限为777
svnadmin create /usr/local/svn/linux //创建一个svn版本仓库sunny(sunny可以随便起名字)
cd svn/linux/conf //进入sunny版本仓库下的配置文件目录
下面要修改这个目录下的三个配置文件
(1)vi svnserve.conf //配置版本库信息和用户文件和用户密码文件的路径、版本库路径
把
anon-access = none //改成none 12
auth-access = write 13
password-db = passwd 18
realm = linux //改成自己的版本库 30
保存
(2)vi authz //文件,创建svn组和组用户的权限
[group]
linux = pcy,trp //创建一个sunny的组,并指定两个用户gep和wce
[/] //制定根目录下的权限
@linux = rw //sunny组用户权限为读写
* = r //其他用户只有读权限
保存退出
(3) vi passwd //创建或修改用户密码
[users]
pcy = 123456 //用户名为gep的用户的密码为123456
trp = 123456 //。。。
保存退出
启动svn:
svnserve -d -r /usr/local/svn/ //这里采用多版本库的方式启动 如果是单版本库 可以svnserve -d -r /usr/local/svn/sunny
添加一行
然后要设置自启动
vi /etc/rc.d/rc.local 打开自启动文件添加
/usr/bin/svnserve -d -r /usr/local/svn/
到此为止可以从服务端检出文件了.
svn命令:
netstat -tnl |grep :3690 查看svn是否启动
ps aux |grep 'svn' 查找所有svn启动的进程
kill -9 2505 杀死2505这个查找到的svn进程
做检出 就要先在根目录下建立一个文件夹 放置要检出的文件
检出命令:
svn checkout svn://linux的ip/版本库名称 /要检出的目录路径
例子:svn checkout svn://192.168.1.107/svn(建立的目录) /aaa(要检出的文件目录)
如果是新建的文件夹 就要先把文件添加
svn add 新建的那文件
第二部就是要提交
svn commit -m "注释" xxx.php //提交文件
[root@localhost aaa]# svn commit -m "aaaaaaaaaaaa" a.php
新增 a.php
传输文件数据.
提交后的修订版为 1。
第三
两个用户同时编辑后 第三个有要编辑
那么就要svn up 取出最新版本的编辑文件
常用命令:
svn up //更新文件
svn commit -m "注释" xxx.php //提交文件
svn add 文件名 //新建文件并添加到svn
svn add *.php //(添加当前目录下所有的php文件)
svn delete test.php //删除test.php
svn log test.php //查看test文件的log信息
svn cleanup //清理当前目录
####################################设置svn自动更新,不需要在手动去做了#####################
自动更新
在vi /usr/local/svn/sunny/hooks/post-commit中加入
#!/bin/sh
#设置一些变量
SVN=/usr/bin/svn
WEB=/你要更新的目录
export LANG=en_US.UTF-8
$SVN update $WEB --username svn用户名 --password 密码
其中SVN=右边改成 svn 命令位置 一般默认为/usr/bin/svn
WEB=右边改成你实际的web目录
赋予可执行权限
chmod 777 /usr/local/svn/sunny/hooks/post-commit
安装完毕
=========================================================================
其他操作
svn up更新
svn switch --relocate svn://192.168.1.253 svn://172.19.10.250 //重新定位SVN版本库地址
// SVN版本库起动方式,现在SVN下面有 sunny、test 两个版本库
1:单版本库起动 svnserve -d -r /usr/local/svn/sunny
2:多版本库起动 svnserve -d -r /usr/local/svn
区别在于起动svn时候的命令中的启动参数-r指定的目录。
限制不同的用户对不同的版本库操作权限,修改版本库中的conf目录下的 authz文件
以配置 sunny 版本库为例
vi authz
[groups]
teacher = sunny,sunny1
[sunny:/] //指定版本库跟目录下的权限
@teacher = rw //teacher组用户权限为读写
* = r //其他用户只有读权限
保存退出
vi passwd 设置组中用户的账号和密码
[users]
sunny = 123456
sunny1 = 123456
转载于:https://www.cnblogs.com/palace/p/9600270.html
svn在linux上的安装相关推荐
- linux ps aux gep,svn在linux上的安装
什么是svn SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS.互联网上很多版本控制服务已从CVS迁移到Sub ...
- redis在Linux上的安装
1.redis在Linux上的安装 1)安装redis编译的c环境,yum install gcc-c++ 2)将redis-2.6.16.tar.gz上传到Linux系统中 3)解压到/usr/lo ...
- linux能安装音乐软件吗,Linux上如何安装使用音乐软件SoundCloud
Linux上如何安装使用音乐软件SoundCloud 卡饭网 梦在深巷 2015-02-13 18:16:08 对于喜欢音乐的朋友来说,SoundCloud是个不错的音乐软件,SoundCloud是德 ...
- Linux入门第五集!MySQL8在Linux上的安装!MySQL的Linux资源分享!
Linux入门第五集!MySQL8在Linux上的安装!MySQL的Linux资源分享! 一.Mysql的Linux版本下载! 博主采用的是mysql-8.0.25-1.el7.x86_64.rpm- ...
- linux系统无线驱动在哪下载,在linux上怎么安装无线网卡驱动?
在linux上怎么安装无线网卡驱动? 在linux上安装无线网卡驱动的方法: (1)先确定无线网卡型号,因驱动安装和型号是密切相关的,不同的型号,安装和下载驱动有所不同,但原理是一样的.图例为无线网卡 ...
- ubuntu intellij java_在Linux上,安装Intellij IDEA进行Scala开发
2016年4月27日 通过瑞雷斯·艾奥阿尼 介绍 Scala是一种编程语言,最近几年开始蓬勃发展.在撰写本文时,流行的TIOBE Index将其排名为比Haskell或Go等更流行的语言更常用.如果您 ...
- linux mint python3.6,Linux 上如何安装并切换最新版本的 Python 3.6
原标题:Linux 上如何安装并切换最新版本的 Python 3.6 如果你安装了 Linux 系统,正在学习 Python 并想要使用最新的版本的话,那么这篇文章就是为你而写的. -- Shekin ...
- 在linux环境下启动es,linux上Elasticsearch 安装配置、网页访问
一.ElasticSearch简述 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch ...
- redis系列之1----redis简介以及linux上的安装
redis简介 redis是NoSQL(No Only SQL,非关系型数据库)的一种,NoSQL是以Key-Value的形式存储数据.当前主流的分布式缓存技术有redis,memcached,ssd ...
最新文章
- CSS实现各类分栏布局
- Linux shell控制台改变显示前缀
- 聊聊统一身份认证服务
- IntelliJ IDEA 如何从SVN导入项目 怎么部署 就是路劲和tomcat配置等等 步骤希望
- Modbus​协议​深入​讲解_NI
- 查找两个单词链表共同后缀的起始结点(C++,单链表/双向链表解法)
- 华为鸿蒙OS发布!余承东:如果安卓不可用,随时启用鸿蒙
- stats | 广义线性模型(二)——泊松回归
- 通用性好的win2003序列号: (推荐先用这个里面的)
- 机械专业与python的联系_机械转行想学python?
- 去掉windows10“更新并关机”
- android 高德amap开发一(地图创建)
- Wet Shark and Two Subsequences
- 域名注册必须实名认证 《互联网域名管理办法》11月1日实施
- 泉城济南——三妮儿暴走一日游
- html中微信添加好友超链接,微信给文字加链接代码分享(原来微信超链接是这样加的)...
- python 图片验证码
- PX4 ROS学习资源汇总
- 支付宝手机唤起app支付
- Django开发个人博客网站——12、实现不同大小的标签云样式
热门文章
- numpy 数组 最大值、最小值、中位数、均值、标准差、方差、总和、排序、去重
- jquery jQuery的入口函数 $函数 dom对象和jquery对象
- 车牌识别--Towards End-to-End License Plate Detection and Recognition: A Large Dataset and Baseline
- 人群运动--Scene-Independent Group Profiling in Crowd
- 膨胀卷积--Multi-scale context aggregation by dilated convolutions
- Linux系统16进制形式查看二进制文件
- Hadoop配置环境变量
- ajax获取php echo值,ajax 接受 php echo 与 return 区别
- c语言如何初始化随机数种子,关于随机数函数rand和其种子初始化
- java超级点击器是怎么实现的_超萌新级的Java学习心得——简单监听器