svn安装及使用

Apache Subversion 通常被缩写成 SVN,是一个开放源代码的版本控制系统.

  • repository(源代码库):源代码统一存放的地方;
  • Checkout(提取):当你手上没有源代码的时候,你需要从repository checkout一份;
  • Commit(提交):当你已经修改了代码,你就需要Commit到repository;
  • Update (更新):当你已经Checkout了一份源代码, Update一下你就可以和Repository上的源代码同步,你手上的代码就会有最新的变更;

第一步:通过yum命令安装svnserve

yum install -y subversion

此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停止命令运行

查看svn安装位置:

rpm -ql subversion

第二步:创建版本库目录

(此仅为目录,为后面创建版本库提供存放位置)

mkdir /var/svn/svnrepos -p

第三步:创建svn版本库

(第二步建立的路径基础上)

svnadmin create /var/svn/svnrepos/myrepo1

创建成功后,进入mytest目录下

cd /var/svn/svnrepos/myrepo1/

进入目录,可以看见如下文件信息:
ll /var/svn/svnrepos/myrepo1

total 24
drwxr-xr-x 2 root root 4096 Feb 11 16:26 conf
drwxr-sr-x 6 root root 4096 Feb 11 16:26 db
-r--r--r-- 1 root root    2 Feb 11 16:26 format
drwxr-xr-x 2 root root 4096 Feb 11 16:26 hooks
drwxr-xr-x 2 root root 4096 Feb 11 16:26 locks
-rw-r--r-- 1 root root  229 Feb 11 16:26 README.txt

第四步:修改配置文件

进入已经创建好的版本库目录下,也就是前文说创建的xxxx
进入conf

cd /var/svn/svnrepos/mytest/conf

conf目录下,一共存放三份重要的配置文件,如下:
[root@localhost conf]# ll

total 12
-rw-r--r-- 1 root root 1080 Nov 21 11:35 authz
-rw-r--r-- 1 root root  309 Nov 21 11:35 passwd
-rw-r--r-- 1 root root 3090 Nov 21 11:35 svnserve.conf

解释:

authz :负责账号权限的管理,控制账号是否读写权限
passwd :负责账号和密码的用户名单管理
svnserve.conf :svn服务器配置文件

[root@localhost conf]# vim authz

[/]
michael = rw
michelle = r

[root@localhost conf]# vim passwd

michael = michael
michelle = michelle

[root@localhost conf]# vim svnserve.conf

anon-access = read
auth-access = write
password-db = passwd
realm = My First Repository

第五步:防火墙配置

#!/bin/bash
/sbin/iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
/etc/init.d/iptables save
service iptables restart

六:启动svn服务器

svnserve -d -r /var/svn/svnrepos

查看服务是否启动成功

ps -aux | grep svnserve	或
ps -ef | grep svnserve

七:客户端访问svn服务器

地    址:svn://192.168.168.200:3690/xxxx
端    口:3690
版本库:xxxx

(弹出用户名和密码输入框,输入即可)


  1. 新建版本库目录
    [root@localhost ~]# mkdir /opt/svn
  2. 利用svn命令创建版本库
    [root@localhost ~]# svnadmin create /opt/svn/runoob
  3. 使用命令svnserve启动服务
    [root@localhost ~]# svnserve -d -r 目录 --listen-port 端口号
parameterdescription
-d [–daemon]daemon mode
-r [–root] ARGroot of directory to serve
–listen-port ARGlisten port (不加此参数,SVN默认监听3690)
–listen-host ARGlisten hostname or IP address

由于-r 配置方式的不一样,SVN启动就可以有两种不同的访问方式
方式一:-r直接指定到版本库(称之为单库svnserve方式)
[root@localhost ~]# svnserve -d -r /opt/svn/runoob
在这种情况下,一个svnserve只能为一个版本库工作。

authz配置文件中对版本库权限的配置应这样写:

[groups]
admin=user1
dev=user2
[/]
@admin=rw
user2=r

使用类似这样的URL:svn://192.168.0.1/ 即可访问runoob版本库

方式二:指定到版本库的上级目录(称之为多库svnserve方式)
[root@localhost ~]# svnserve -d -r /opt/svn
这种情况,一个svnserve可以为多个版本库工作

authz配置文件中对版本库权限的配置应这样写:

[groups]
admin=user1
dev=user2
[runoob:/]
@admin=rw
user2=r

[runoob01:/]
@admin=rw
user2=r

如果此时你还用[/],则表示所有库的根目录,同理,[/src]表示所有库的根目录下的src目录。

使用类似这样的URL:svn://192.168.0.1/runoob 即可访问runoob版本库。


在这里插入图片描述
打开global-ignores注释:添加配置忽略信息

global-ignores =  */.settings/* .classpath */.idea/* 

svn更新后的转态

U:表示从服务器收到文件更新了
G:表示本地文件以及服务器文件都已更新,而且成功的合并了
A:表示有文件或者目录添加到工作目录
R:表示文件或者目录被替换了.
C:表示文件的本地修改和服务器修改发生冲突

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值