SVN版本控制服务 搭建与使用
SVN简介
SVN是一个开源的版本控制系统,SVN管理着随时间改变的数据。这些数据放置在一个中央资料档案库中,这个档案库很像一个普通的文件服务器,不过它会记住每一次文件的改动。
SVN的概念:
- repository:源代码库,源代码统一存放的地方;
- checkout:提取,当电脑上没有源代码的时候,需要从仓库checkout一份
- commit:提交,当有修改过的代码,需要commit到repository- update:更新,当已经checkout一份源代码,update以下就可以和repository上的源代码同步了,这样手上的资料便是最新的
日常开发过程其实就是这样的(假设你已经Checkout并且已经工作了几天):Update(获得最新的代码) -->作出自己的修改并调试成功 --> Commit(大家就可以看到你的修改了) 。
系统环境
主机 | 操作系统 | IP地址 |
---|---|---|
SVN Server | Centos 7.3 X86_64 | 192.168.96.22 |
Client | Centos 7.3 X86_64 | 192.168.96.16 |
开始安装
关闭防火墙及Selinux
setenforce 0 systemctl stop firewalld
1.安装svn软件包
yum install subversion -y
2.查看版本
svnserve --version
3.新建版本库目录
mkdir -p /svn/data
4.创建版本库
svnadmin create /svn/data/
5.查看仓库目录
ls !$
6.启动svn服务
svnserve -d -r /svn/data/
7.检查svn服务是否启动
netstat -tunlp | grep svnserve
8.进入版本库目录
cd /svn/data/conf/
9.编辑svn服务配置文件svnserve.conf
vim svnserve.conf
anon-access = none auth-access = write password-db = passwd authz-db = authz
anon-access: 控制非鉴权用户访问版本库的权限,取值范围为"write"、"read"和"none"。即"write"为可读可写,"read"为只读,"none"表示无访问权限。 缺省值:read
auth-access: 控制鉴权用户访问版本库的权限。取值范围为"write"、"read"和"none"。即"write"为可读可写,"read"为只读,"none"表示无访问权限。 缺省值:write
authz-db: 指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。 除非指定绝对路径,否则文件位置为相对conf目录的相对路径。 缺省值:authz
realm: 指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的 认证域相同,建议使用相同的用户名口令数据文件。 缺省值:一个UUID(Universal Unique IDentifier,全局唯一标示)。
10.编辑用户名口令passwd文件,配置用户信息
vim passwd
zhangsan = abc123 admin = abc123
11.编辑authz配置文件,指定用户的权限
vim authz
[/] zhangsan = r admin = r [/web] zhangsan = rw admin = rw
12.创建目录
mkdir web
13.将web导入到本地的svn工程仓库中
svn import web/ file:///svn/data/web -m "初始化SVN目录"
通过Linux客户机连接SVN
1.关闭防火墙及Selinux
setenforce 0 systemctl stop firewalld
2.安装svn软件包
yum -y install svn
3.连接svn服务器
svn co svn://192.168.96.22/web
4.查看并创建目录
基本操作说明:
1.check out
检出获得文件后,检出的文件仍处于SVN版本控制中,与版本库保持关联,比如你可以进行Svn Update或者Svn Commit操作。同时导出文件夹下有一个.svn的隐藏文件夹,存储着一些版本的元数据信息。(对于导入到服务器中的数据,需要检出才能形成一个受svn控制的工作拷贝,才可以进行 add update commit 等操作)
2.export
简单导出一个版本的数据(把服务器中的数据导出来,相当于复制一份),导出的文件脱离SVN版本控制(导出的就是一个文件,与svn版本没关系),导出后也无法进行Update和Commit操作。导出文件夹下没有.svn目录
3.import
仅仅是把文件导入到svn服务器中,而这个文件本身还只是一个普通的文件,与svn版本库没有关系(导入时需要svn服务器的地址,可以从服务器复制下来,在Repositories下的版本库右击复制)
4.add
把新创建的文件添加到缓存区(执行后显示一个加号),需commit提交才能真正上传到服务器(显示对号)
5.update
把服务器上最新的版本更新下来,比如别人上传的版本(一般提交之前需先更新,否则别人上传的新版本你没有更新下来就会被覆盖,别人上传的就丢失了)
- SVN版本控制服务搭建、配置和使用详细步骤!!!
- linux下使用apache+svn+ssl配置安全版本控制服务
- 【软件工程技术之程序版本控制】SVN的使用——基本知识,Server搭建与Client日常使用维护
- 使用TortoiseSVN在Windows系统下搭建单机版SVN服务器版本控制
- 使用VisualSVN Server快速搭建基于SVN的代码版本控制服务器
- [转]使用svn进行版本控制
- Google的SVN免费代码托管(版本控制)使用教程【图文教程】
- Windows上配置和使用svn-1.4.6 + Apache2.2.6 + Eclipse版本控制环境
- eclipse版本控制工具SVN使用方法详解地址
- 《TortoiseSVN中文使用手册》:SVN版本控制最详尽的中文使用指南
- 使用svn trac mod_wsgi httpd组建版本控制和bug跟踪系统
- Apache2.2.11和SVN1.6.1搭建svn版本控制平台(windows环境)(1)
- Eclipse中SVN版本控制插件的安装和使用(转载)
- SVN+Apache+AnkhSVN搭建版本控制环境
- Apache2.2.11和SVN1.6.1搭建svn版本控制平台(windows环境)(2)----SVNServer
- Svn版本控制工具服务器端命令及客户端简单使用
- SVN版本控制的使用说明
- 用SVN搭建代码控制服务
- Eclipse下使用SVN版本控制
- svn使用手记:取消不需要版本控制的文件的版本控制