yum安装配置svn

安装配置svn

一、svn介绍

1、什么是svn

svn是非常优秀的版本管理工具,与cvs管理一样,svn是一个跨平台的开源的版本控制系统。这些数据放置在一个中央资料档案库中,这个档案库很像一个普通的文件服务器或者ftp服务器,但是不同的是,svn会记录并备份每一个文件每一次的修改更新变动。

2、svn服务端运行模式与访问方式
  • 独立服务器访问: svn://svn.xxxx.com/sadoc
  • 借助Apache等http服务:
    1)单独安装apache+svn(不建议使用)
    2)csvn(apache+svn)是一个单独的软件,带web界面管理的svn软件。
  • 本地直接访问: file:///data/svn/svndate/sadoc

二、安装配置svn

1、下载安装

# yum install -y subversion 

2、创建svn相关目录

#创建svn版本库数据目录
# mkdir -p /data/svn/demo1/svndata    #demo1项目数据目录
# mkdir -p /data/svn/demo2/svndata    #demo2项目数据目录

#创建用户密码权限目录
# mkdir -p /data/svn/demo1/svnpasswd    #demo1项目用户密码目录
# mkdir -p /data/svn/demo1/svnpasswd    #demo2项目用户密码目录

#初始化建立版本库,也可以理解为是一个项目,demo1-code这个目录不能用mkdir创建,svn有自己运行方式,会创建属于svn自己的文件。
# svnadmin create /data/svn/demo1/svndata/demo1-code
# svnadmin create /data/svn/demo2/svndata/demo2-code

#拷贝初始化生成的密码文件和认证文件到自定义的目录中
# cp /data/svn/demo1/svndata/demo1-code/conf/passwd /data/svn/demo1/svnpasswd
# cp /data/svn/demo1/svndata/demo1-code/conf/authz /data/svn/demo1/svnpasswd
# chmod 600 /data/svn/demo1/svnpasswd/passwd
# chmod 600 /data/svn/demo1/svnpasswd/authz

# cp /data/svn/demo2/svndata/demo2-code/conf/passwd /data/svn/demo2/svnpasswd
# cp /data/svn/demo2/svndata/demo2-code/conf/authz /data/svn/demo2/svnpasswd
#  chmod 600 /data/svn/demo2/svnpasswd/passwd
# chmod 600 /data/svn/demo2/svnpasswd/authz

3、编辑svn配置文件

  • demo1项目
# cp /data/svn/demo1/svndata/demo1-code/conf/svnserve.conf /data/svn/demo1/svndata/demo1-code/conf/svnserve.conf.bak    #修改配置文件先备份
# vim /data/svn/demo1/svndata/demo1-code/conf/svnserve.conf
12 anon-access = none    #read改为none,禁止匿名访问
13 auth-access = write    #认证访问
20 password-db = /data/svn/demo1/svnpasswd/passwd    #指定密码文件目录
27 authz-db = /data/svn/demo1/svnpasswd/authz    #指定授权文件目录
  • demo2项目
    demo2项目中的配置文件同demo1类似

4、编辑密码文件

  • demo1项目
# vim /data/svn/demo1/svnpasswd/passwd
[users]
demo1-admin = 123456    #用户=密码
demo1-guest = 123456
demo1-test = 123456
  • demo2项目
    demo2项目中的密码文件同demo1类似

5、编辑授权文件

  • demo1项目
# vim /data/svn/demo1/svnpasswd/authz 
[groups]
group1 = demo1-guest,demo1-test    #定义一个组,名字可以随意,指定该组中的成员,用逗号分隔
[/]    #定义用户针对demo1项目的权限,表示demo1项目下所有内容允许谁可以有什么权限
@group1 = r    #给某个组权限,前面加@符号
demo1-admin = rw    #给某个用户权限,用户名 = 权限
  • demo2项目
    demo2项目中的授权文件同demo1类似

6、启动svn服务

  • 单版本库启动,只启动demo1
# svnserve -d -r /data/svn/demo1/svndata    #-d:后台启动,-r:指定svn项目的根目录
  • 多版本库启动,demo1、demo2同时启动
# svnserve -d -r /data/svn/

三、 使用svn

1、windows下使用svn

本地建立仓库: 在windows本地新建文件夹,右键 —> TortoiseSVN —> Create repository here。
下载已有仓库: windows本地文件夹中,右键 —> Checkout —> 输入svn地址(注意svn的根目录)、用户名密码。
更新本地仓库: 选中仓库,右键 —> SVN Update。
上传本地文件: 选中仓库,右键 —> SVN Commit。
添加某个文件: 选中文件,右键 —> TortoiseSVN —> add;出现加号后选中文件,右键 —> SVN Commit。
删除文件: 选中文件,右键 —> TortoiseSVN —> delete;空白处右键 —> SVN Commit。

2、linux下使用svn

将文件checkout到本地:

# svn checkout svn://192.168.56.13:/demo1/svndata/demo1-code/ /root/svn/demo1-code --username=demo1-admin --password=123456
#svn://192.168.56.13:/demo1/svndata/demo1-code/是demo1项目的svn服务器地址和根目录
#/root/svn/demo1-code/是指linux端checkout时,生成文件仓库的位置,不加这个目录的话,默认在执行命令的当前目录
# svn co   #简写

添加文件至版本库

# svn add file   #使用add添加文件

提文件到至版本库

# svn commit -m "commit tet file"    #进行提交
# svn ci    #简写

更新文件

# svn update #后面没有目录,默认将当前目录以及子目录下的所有文件更新到最新
# svn update -r 3 file    #将版本库中的file文件还原到版本3
# svn update file(更新与版本库同步。提交的时候提示过期是因为冲突,需要先update,修改文件,然后清除svn resolved,最后再提交commit)
# svn up    #简写

加锁、解锁

# svn lock -m "lock file" file    #给文件加锁
# svn unlock file    #给文件解锁

查看文件状态

# svn status file    #文件状态正常不显示
M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定

# svn status -v file.txt     #第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人
K           4        4 demo1-admin  file.txt

#svn st     #简写

删除文件

# svn delete file.txt 再 svn ci -m "delete file"    #推荐使用
# svn delete svn://192.168.56.101/demo1-code/file.txt -m "delete file"    

查看日志

# svn log file.txt    #查看file.txt文件的所有修改记录以及版本变化

查看文件详细信息

# svn info file.txt    #查看文件的详细信息

比较差异

# svn diff -r 10:9 file.txt     #比较file.txt文件的10版本和9版本的差异
# svn di    #简写
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值