当前位置: 首页 > article >正文

svn安装及使用

svn安装及使用

  • 第一步:通过yum命令安装svnserve
  • 第二步:创建版本库目录
  • 第三步:创建svn版本库
  • 第四步:修改配置文件
  • 第五步:防火墙配置
  • 六:启动svn服务器
  • 七:客户端访问svn服务器
  • 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:表示文件的本地修改和服务器修改发生冲突

http://www.lryc.cn/news/2420868.html

相关文章:

  • Linux查看当前时间
  • 《隐秘的角落》结局你真的看懂了吗?(细思极恐)
  • 计算机主板一直滴滴响,主板报警声大全_主板一直滴滴滴短响含义详解
  • 花指令
  • kube operator部署kubernetes集群
  • Animation动画——ObjectAnimator基本使用
  • [C++学习日记]-11-抽象、封装、继承和多态
  • C盘根目录下---系统文件详解
  • 360和腾讯QQ的那场战争!
  • Portal游戏的实现理论分析
  • 2024年Android最新Android系统在超级终端下必会的命令大全,我的腾讯安卓面试经历分享
  • Linux服务和守护进程管理:systemctl、service等命令的使用教程和技巧
  • VC++6.0、VS2003、vs2005、vs2008程序依赖DLL
  • 深入浅出hibernate摘录2
  • 网传腾讯薪酬规则调整:允许降薪
  • BOOT.INI文件详解
  • 130道ASP.NET面试题
  • 计算机视觉——顶会、顶刊
  • 三套方案7日打造骨感美人
  • HTML5动漫网页设计——少女漫画心(HTML+CSS+JavaScript+Bootstrap)
  • win8如何快速关闭135\445端口,预防onion永恒之蓝病毒
  • 与窗体及消息有关的API
  • SQLServer 连接字符串大全
  • nProtect GameGuard(簡稱GameGuard或GG,其驅動程序為GameMon.des)是由韓國INCA互聯網開發的遊戲反作弊軟體。
  • 获取树莓派4系统信息
  • GBK 编码
  • 地心一号-基于STM8的超迷你自平衡小车-DIY套件
  • ARPU与ARPPU 的概念
  • 物联网实训Day2
  • information security -- 网络拓扑