SVN搭建及简单使用
来源:互联网 发布:php sdk是什么 编辑:程序博客网 时间:2024/06/06 02:44
什么是svn
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。
1. 性能提高。SVN不管文件是文本还是二进制类型,在内部都是以二进制差异比较算法来表示文件的更新部分。这表示所有的文件在文件库中都是以差异的形式储存。而且在网络上传输的,都是较小的文件差异部分。这也使创建分支、打标签、合并等操作可以非常快地完成.
2. 对目录的组织的管理更加方便。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
0 0
- SVN搭建及简单使用
- SVN搭建及简单使用
- SVN局域网服务器搭建及简单使用
- SVN 搭建及使用
- SVN服务器搭建及使用
- svn环境搭建及使用
- SVN服务器搭建及使用
- svn服务器搭建及使用
- svn服务器搭建及使用
- Linux(centos)下SVN服务器的搭建及简单配置和使用
- cgmm Linux(centos)下SVN服务器的搭建及简单配置和使用
- SVN服务端的搭建和简单使用
- svn服务器搭建及客户端基本使用
- SVN服务器及客户端搭建和使用
- SVN服务器搭建及使用教程
- Linux服务器搭建SVN及使用
- Linux svn搭建 及win使用
- SVN服务器的搭建及使用
- linux中安装mysql
- Android 异步消息处理机制 让你深入理解 Looper、Handler、Message三者关系
- POJ-3268 Silver Cow Party
- Python学习笔记(三)-标准内建函数
- adb连接手机提示unauthorized,ubs连接无授权弹窗问题
- SVN搭建及简单使用
- 真机调试错误--Xcode cannot launch 项目名字 on iPhone because the device is locked
- 追求卓越之--arm MMU详解
- getpass ()函数
- Linux系统下软件包的制作方法和过程
- redis 数据类型详解 以及 redis适用场景场合
- 堆(二)
- POJ 1703 Find them, Catch them[并查集]
- fcntl函数的用法总结