svn服务器的配置

简介:
                            仓库:服务器上的文件
                            工作副本:客户端下载到本地的文件
                            工作副本的状态:
                            1、当前未更改
                            2、当前已更改
                            3、过时未更改
                            4、过时已更改

配置svn服务器
一、准备一台VM作为服务器
1、初始化
vh01.tedu.cn 192.168.4.1 selinux/firewalld/yum/
2、安装
[root@vh01 ~]# yum install -y subversion
3、创建svn数据库根目录
[root@vh01 ~]# mkdir /var/svn
4、创建项目目录
[root@vh01 ~]# svnadmin create /var/svn/project
5、修改配置文件
[root@vh01 ~]# vim /var/svn/project/conf/svnserve.conf 
anon-access = none #匿名用户不允许访问
auth-access = write #认证后的用主户可以读写
password-db = passwd #存储svn用户的文件
authz-db = authz #授权文件
[root@vh01 ~]# vim /var/svn/project/conf/passwd 
[users]
tom = tom123
jerry = jerry123
[root@vh01 ~]# vim /var/svn/project/conf/authz 
[groups]
tom_and_jerry = tom,jerry
[/]
@tom_and_jerry = rw

  • = r
    6、起动服务
    [root@vh01 ~]# systemctl start svnserve
    [root@vh01 ~]# systemctl enable svnserve.service 
    7、导入项目文件到svn服务器
    [root@vh01 ~]# cd /usr/lib/systemd/system
    [root@vh01 system]# svn import . file:///var/svn/project -m "Init Data"

客户端使用svn
1、客户端下载svn服务器上的项目文件
[root@vh01 system]# cd /opt/
[root@vh01 opt]# svn --username tom --password tom123 checkout svn://192.168.4.1/project code1
[root@vh01 opt]# cd code1/
[root@vh01 code1]# svn log
2、更新本地工作副本
[root@vh01 code1]# svn update 
3、新建文件
[root@vh01 code1]# vim foo.sh
#!/bin/bash

if [ "$1" == "foo" ]; then
echo "bar"
elif [ "$1" == "bar" ]; then
echo "foo"
else
echo "$0 foo|bar"
fi
[root@vh01 code1]# svn add foo.sh #把foo.sh加入svn本地管理
[root@vh01 code1]# svn diff #显示服务器和本地工作副本的区别
将本地文件同步到服务器
[root@vh01 code1]# svn commit -m "Add foo.sh to project"
4、新建目录
[root@vh01 code1]# svn mkdir subdir
[root@vh01 code1]# svn status #查看状态
5、删除文件
[root@vh01 code1]# rm cups.service # 本地删除
[root@vh01 code1]# svn update # cups.service将重新下载
[root@vh01 code1]# svn delete cups.service # 在svn中删除文件
[root@vh01 code1]# svn status 
[root@vh01 code1]# svn move foo.sh bar.sh # 在svn中改名
[root@vh01 code1]# svn commit -m "rename foo.sh, del cups.service, mkdir subdir"
6、练习
[root@vh01 code1]# sed -i '1a###test###' sshd.service 
[root@vh01 code1]# sed -i '2a###mytest###' sshd.service
[root@vh01 code1]# svn diff sshd.service
[root@vh01 code1]# svn diff 
[root@vh01 code1]# svn log svn://192.168.4.1/project
[root@vh01 code1]# svn commit -m "modify sshd.service"
7、将sshd.service回退到增加两行之前的状态
[root@vh01 code1]# svn merge -r4:2 sshd.service
[root@vh01 code1]# vim sshd.service 第六步新增的两行消失
8、将svn的第2版本的文件全部下载下来,叫做code2
[root@vh01 opt]# svn co -r2 svn://192.168.4.1/project code2

多人协作
1、tom和jerry分别下载了svn上面的项目
[root@vh02 ~]# cd /opt/
[root@vh02 tmp]# svn co --username tom --password tom123 svn://192.168.4.1/project tom
[root@room8pc16 ~]# svn ls --username tom --password tom123 svn://192.168.4.1/project 
[root@vh03 ~]# cd /var/tmp/
[root@vh03 opt]# svn co --username jerry --password jerry123 svn://192.168.4.1/project jerry
2、不同用户修改不同文件
[root@vh02 tmp]# cd tom/
[root@vh02 tom]# sed -i '3a#####my test####' vmtoolsd.service 
[root@vh02 tom]# svn commit -m "tom modify vmtoolsd.service"
[root@vh03 opt]# cd jerry/
[root@vh03 jerry]# sed -i '3a#####jerry test####' sshd.service 
[root@vh03 jerry]# svn commit -m "jerry modify sshd.service"
[root@vh03 jerry]# svn update #tom修改的vmtoolsd.service同步到本地
[root@vh02 tom]# svn update

3、不同用户改变相同文件的不同行
[root@vh02 tom]# sed -i '1a####tom modify###' user.slice 
[root@vh02 tom]# svn commit -m "tom modify slice.user"
[root@vh03 jerry]# sed -i '$a###jerry modify###' user.slice 
[root@vh03 jerry]# svn commit -m "jerry modify user.slice" #失败,因为文件过时了(本地版本号低于服务器上的版本号)
[root@vh03 jerry]# svn update #更新到最新版本
[root@vh03 jerry]# svn commit -m "jerry modify user.slice" #重新提交
[root@vh03 jerry]# vim user.slice # tom和jerry的修改全部存在
4、不同用户改变相同文件的相同行
[root@vh02 tom]# sed -i '8c#####tom tom tom####' zram.service 
[root@vh02 tom]# svn commit -m "tom modify zram.service"
[root@vh03 jerry]# sed -i '8c####jerry jerry####' zram.service 
[root@vh03 jerry]# svn commit -m "jerry modify zram.service"
[root@vh03 jerry]# svn update #选择p
[root@vh03 jerry]# ls zram.service
[root@vh03 jerry]# mv zram.service.mine zram.service
[root@vh03 jerry]# ls zram.service

[root@vh03 jerry]# rm -f zram.service.r
[root@vh03 jerry]# ls zram.service

[root@vh03 jerry]# svn commit -m "jerry modify zram.service"
5、svn服务器端备份
[root@vh01 tom]# svnadmin dump /var/svn/project/ > /var/tmp/project.bak
6、还原
[root@vh01 tom]# rm -rf /var/svn/project/
[root@vh01 tom]# ls /var/svn/
[root@vh01 tom]# svnadmin create /var/svn/project/
[root@vh01 tom]# svnadmin load /var/svn/project/ < /var/tmp/project.bak










本文转自 英强云计算 51CTO博客,原文链接:http://blog.51cto.com/13404755/2051846,如需转载请自行联系原作者
目录
相关文章
|
12天前
|
消息中间件 安全 Unix
SSH配置多台服务器之间的免密登陆以及登陆别名
SSH配置多台服务器之间的免密登陆以及登陆别名
23 1
|
27天前
|
弹性计算
2024年阿里云服务器不同实例规格与配置实时优惠价格整理与分享
2024年阿里云服务器的优惠价格新鲜出炉,有特惠云服务器也有普通优惠价格,本文为大家整理汇总了2024年阿里云服务器的优惠价格,包含特惠云服务器和其他配置云服务器的优惠价格。以便大家了解自己想购买的云服务器选择不同实例规格和带宽情况下的价格,仅供参考。
2024年阿里云服务器不同实例规格与配置实时优惠价格整理与分享
|
10天前
|
存储 弹性计算 安全
阿里云服务器2核2G、2核4G配置最新租用收费标准及活动价格参考
2核2G、2核4G配置是很多个人和企业建站以及部署中小型的web应用等场景时首选的云服务器配置,这些配置的租用价格也是用户非常关心的问题,本文为大家整理汇总了2024年阿里云服务器2核2G、2核4G配置不同实例规格及地域之间的收费标准,同时整理了这些配置最新活动价格,以供大家参考和选择。
阿里云服务器2核2G、2核4G配置最新租用收费标准及活动价格参考
|
12天前
|
域名解析 网络协议 应用服务中间件
阿里云服务器配置免费https服务
阿里云服务器配置免费https服务
|
15天前
|
安全 关系型数据库 MySQL
国产麒麟服务器等保二级 配置规范(一)
国产麒麟服务器等保二级 配置规范(一)
33 0
|
15天前
|
数据采集
robots.txt配置 减小服务器压力
robots.txt配置 减小服务器压力
13 0
|
26天前
|
网络协议 Linux 网络安全
Linux服务器DNS服务器配置实现bind的正向解释和反向解释
Linux服务器DNS服务器配置实现bind的正向解释和反向解释
17 0
|
28天前
|
弹性计算 网络安全 虚拟化
ECS数据问题之升级配置预防数据丢失如何解决
ECS(Elastic Compute Service,弹性计算服务)是云计算服务提供商提供的一种基础云服务,允许用户在云端获取和配置虚拟服务器。以下是ECS服务使用中的一些常见问题及其解答的合集:
|
28天前
|
弹性计算 Kubernetes 安全
ECS选型推荐配置
在构建Kubernetes集群时,应避免使用过多小规格ECS,因它们可能带来网络限制、容量不足和资源碎片化问题。采用大规格ECS能提升网络性能,优化镜像拉取效率。选择Master节点时,要考虑集群规模,生产环境建议选择较高规格。Worker节点推荐使用CPU≥4核、内存≥8GiB的ECS,根据集群总核数和容错率来决定节点数量。当规模达1000核,可选用裸金属神龙服务器,它提供超强网络、零计算抖动和安全性能,适合大促等需快速扩展的场景。
26 1
|
1月前
|
弹性计算 固态存储 调度
2024年阿里云服务器配置选择指南,新手整理
阿里云服务器配置选择指南:个人用户推荐轻量应用服务器或ECS通用算力型u1,适合小型网站和轻量应用。企业用户应选择企业级独享型如ECS计算型c7、通用型g7,保证高性能计算需求。配置选择要考虑CPU内存比例、公网带宽和系统盘。轻量服务器提供2核2G3M和2核4G4M选项,ECS实例则有多种规格以适应不同业务场景。公网带宽建议至少5M,系统盘可选高效云盘、SSD或ESSD。详细信息见[阿里云服务器产品页](https://www.aliyun.com/product/ecs)。
69 3