svn环境搭建
(一)svn介绍
项目管理中的版本控制问题
通常软件开发由多人协作开发,如果对代码文件、文档等没有进行版本控制,将会出现很多问题:
- 备份多个版本,占用磁盘空间大
 - 解决代码冲突困难
 - 容易引发BUG
 - 难于恢复至以前正确版本
 - 无法进行权限控制
 - 项目版本发布困难
 
什么是版本控制
版本控制(Revision control)是维护工程蓝图的标准做法,能追踪工程蓝图从诞生一直到定案的过程。是一种记录若干文件内容变化,以便将来查阅竺定版本修订情况的系统。
svn是什么
svn(Subversion)是近年来崛起的版本管理工具,在当前的开源项目里(J2EE)。几乎95%以上的项目都用到了SVN。Subversion项目的初衷是为了替当年开源社区最为流行的版本控制软件cvs,在cvs功能的基础上有很多的提升,同时也能较好的解决cvs系统的一些不足.
svn的使用方法
svn是基于客户/服务器模式:
- 复制-修改-合并方案(Subversion默认的模式):
在这种模型里,每一个客户读取项目配置库建立一个私有工作副本--版本库中文件和目录的本地映射。用户并行工作,修改各自的工作副本,最终,各个私有的复制合并在一起,成为最终的版本,这种系统通常可以辅助合并操作,但是最终要靠人工去确定正误。 - 锁定-修改-解锁方案 在这样的模型里,在一个时间段里配置库的一个文件只允许被一个人修改。此模式不适合软件开发这种工作。
 
svn服务器的工作方式
独立服务器方式:
svnserver
借助Apache方式:
mod_dav_svn
svn版本数据存储方式:
BDB(Berkeley DB) -----数据库方式
FSFS-----文件方式
(二)svn服务端安装配置
两种服务端安装包
官方安装包
官方网站:http://subversion.apache.org/
下载:http://subversion.apache.org/download.cgi

官方提供的服务端安装包,安装后需要通过命令行操作,适用于专业配置管理员使用。
图形化服务端
志原者开发的图形化操作界面的svn服务端,它适用于普通软件开发人员使用。
下载地址:https://www.visualsvn.com/downloads/

安装图形化服务端



设置好后点击install安装
安装完成后点击程序菜单找:

相看服务,会发现服务以经启动

(三)svn 服务器端之创建仓库
创建仓库
svn服务端创建完成需要创建仓库,仓库中存放 要被管理的文件。
通过开始菜单进入 VisualSVN server manager:

主界面为:

右键点击Repositories创建仓库

选择文件存储方式:FSFS


创建一个空的仓库:

点击下一步
设置用户访问仓库权限:选 择all ,全部用户都可以访问,稍后可以在软件中修改

仓库创建成功:

完成后会在Repositories中创建一个空的仓库,

(四)svn 服务器端的使用之创建工程目录
仓库中存放开发项目代码、文档等,需要创建一个工程目录。
在之前创建的仓库中右键点击:


创建成功

trunk:项目开发代码的主体,是从项目开始直到当前都处于活动的状态,从这里可以获得项目最新的源代码以及几乎所有的变更历史信息。
branches:从trunk的某个点分离出来的代码拷贝,通常可以在不影响主干的前提下在这里进行重大bug的修改,或者做实验性的开发,以及定制功能开发等。如果分支达到了预期的目的,通常可以被合并到主干中。
tags:用来表示trunk和branch的某个点的状态,以代表项目的某个稳定状态,通常为最终发布状态。

工程目录创建完成,查看它的svn地址:

拷贝svn地址:

(五)TortoiseSVN 客户端-----安装
svn客户端类型
svn客户端需要通过网络访问svn服务端提交文件、查询文件等,可通过以下客户端类型访问svn服务端:
- 使用Subversion提供的客户端命令,使用方式:在命令行下输入命令操作。
 - 使用Tortoise图形化界面操作(推荐)
 - 使用Eclipse等开发工具插件操作(推荐)
 
下载安装
TortoiseSVN是Subversion版本控制系统的一个免费开源客户端,一需要为使用它而付费。
TortoiseSVN是Subversion的Windows扩展。它使你避免接触Subversion 枯燥而且不方便的 Command Line。它完全嵌入 Windows Explorer,使用时只需要在正常的窗口里右键操作就可以了

下载:http://tortoisesvn.net/downloads.html 提供32位和64位不同版本,安装tortoiseSVN需要修改客户端电脑右键菜单,安装后需要重启电脑。

浏览仓库
使用Tortoise浏览svn服务端的仓库的内容:


在登陆之前需要 创建user

登陆后的界面:

(六)svn 服务器端使用之权限管理
权限管理(了解)
认证授权机制
在企业开发中会为每位程序员、测试人员等相关人员分配一个账号,用户通过使用svn客户端连接svn服务时需要输入账号和密码,svn服务对账号和密码进行校验,输入正确可以继续访问,当用户访问仓库下某个目录时,svn服务对用户进行授权,如果用户拥有该目录的访问权限方可访问。
判断账号和密码输入是否正确的过程即认证过程。
判断用户是否拥有目录的读/写权限时即授权的过程。
创建用户


点击菜单上的Users可以在右侧窗口区域中看见已经创建的用户

选中用户后右击可以修改用户的密码

创建组



同样也可以修改组:

分配权限
删除系统安装后默认权限:


示例一:开发人员拥有读写权限(组权限)
进入权限分配界面:

添加组或用户:
在添加页面可以添加用户、组、等

将组添加进来后,就可以进行权限分配了
权限等级为:
继承父目录权限 、 不可访问 、 读权限 、读/写权限
这里我选 择 读/写权限

设置后我们再用TortoiseSVN客户端访问svn服务器就需要密码了

登陆测试是否有读/写权限:自己建个目录什么的。

给人员分配权限和测试方法和组一样
清除认证缓存
有几种情况需要清除认证缓存:
- 本地使用多个账号登陆,每次输入的账号和密码都 不一样
 - 当账号密码修改后(建议清理)
 


svn环境搭建的更多相关文章
- 最简单的SVN环境搭建过程
		
本文简单描述最简单的SVN环境搭建过程 搭建环境:windows (个人验证了windows2003,windows xp) 使用软件:Setup-Subversion-1.6.17 //Serve ...
 - Windows下的SVN环境搭建详解
		
前言:最近因为要和其他人合作开发项目,所以花时间搭建了SVN的环境. 因为是初次使用SVN,对于SVN的环境搭建很不熟悉,再加上网上的教程都介绍的比较粗略,导致前前后后重做了几次. 当然最终是搭建成功 ...
 - 驱动开发 - WDK 调试及 SVN 环境搭建
		
由于从公司辞职了,所以以前在公司里搭建的驱动开发环境也就 Game Over 了, 同样由于那环境是很久以前搭建的,自己也有很多记不清楚的地方了, 而且其中还是有很多需要注意的地方的,所以在这里顺便做 ...
 - SVN环境搭建详解
		
SVN服务器搭建和使用(一) Subversion是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说. 首先来下载和搭建SVN服务器. 现在Subversion已经迁移到apache网 ...
 - SVN环境搭建(1)
		
原文地址:http://www.penglig.com/post-72.html Subversion 是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说. 首先来下载和搭建 SVN 服务 ...
 - Linux下svn环境搭建
		
不久前买了一个阿里云服务器,想着在上面搭建一个svn服务方便自己的代码管理.顺便记录下自己的搭建过程 首先,安装服务 通过yum -stall subversion 安装snv,可能install之前 ...
 - 【Akroma, Angel of Fury】完成svn环境搭建
		
昨天的那篇博文恰恰是实验室所干的事儿 但是那是一种很投机取巧的方式完成的多project管理方式 来看看我建立环境的方法 首先,找一个比较闲的公用服务器(为什么不用自己的?有公共资源不用,你傻啊?), ...
 - linux下Apache+Svn环境搭建(五)
		
在搭建之前先准备好如下包,建议去apache官网去下载:http://httpd.apache.org/ apr-1.4.6.tar.gzapr-util-1.4.1.tar.gzhttpd-2.2. ...
 - SVN 环境搭建
		
安装配置 安装环境 #查看系统版本环境 [root@svn ~]# cat /etc/redhat-release CentOS release 6.7 (Final) [root@svn ~]# u ...
 - 基于linux(centos)的svn环境搭建
		
1. 安装svn yum intall subversion 2. 查看安装位置 rpm -ql subversion 3. 检验svn是否安装成功,查看帮助 svn --help , 看到下图表示成 ...
 
随机推荐
- 转 oracle ASM中ASM_POWER_LIMIT参数
			
https://daizj.iteye.com/blog/1753434 ASM_POWER_LIMIT 该初始化参数用于指定ASM例程平衡磁盘所用的最大权值,其数值范围为0~11,默认值为1.该初始 ...
 - MySQL查询操作select
			
查找记录 SELECT select_expr [,select_expr ...] [ FROM table_references(表的参照) [WHERE where_condition](条件) ...
 - 大数据技术之_16_Scala学习_13_Scala语言的数据结构和算法_Scala学习之旅收官之作
			
第十九章 Scala语言的数据结构和算法19.1 数据结构(算法)的介绍19.2 看几个实际编程中遇到的问题19.2.1 一个五子棋程序19.2.2 约瑟夫问题(丢手帕问题)19.2.3 其它常见算法 ...
 - 进入保护模式(三)——《x86汇编语言:从实模式到保护模式》读书笔记17
			
(十)保护模式下的栈 ;以下用简单的示例来帮助阐述32位保护模式下的堆栈操作 mov cx,00000000000_11_000B ;加载堆栈段选择子 mov ss,cx mov esp,0x7c00 ...
 - MySQL操作汇总
			
这学期学习了数据库系统原理,做了实验,mark一记. T—SQL的简单查询.连接查询 (1)用SQL语句建库.建表并插入记录. 建库: 建表: 插入记录: 查看 (2)修改表结构,包括修改属性列的数据 ...
 - zato server启动后自动关闭问题解决
			
症状 zato start server 启动server后,过一会server自动关闭了 解决 查看日志 UnicodeDecodeError: 'ascii' codec can't decode ...
 - 数据链路层差错检测之循环冗余检验CRC
			
引用https://blog.csdn.net/wenqiang1208/article/details/71641414 为什么引入CRC 现实的通信链路都不会是理想的.这就是说,比特在传输的过程中 ...
 - rest webapi 返回数据
			
webapi可以直接返回一个对象,也可以返回json 一.返回一个对象例子 [System.Web.Mvc.AllowAnonymous] [System.Web.Http.HttpGet] publ ...
 - 关于android studio2.3和android studio3.0
			
今天又重新把androidstudio2.3重新装上了,实在是受不了android studio3.0了,太恶心人了 说一下为何改用android studio3.0: 优点: 1. 如果只是写纯应用 ...
 - 【读书笔记】读《编写可维护的JavaScript》 - 编程风格(第一部分)
			
之前大致翻了一遍这本书,整体感觉很不错,还是不可追求快速,需要细细理解. 这篇随笔主要对本书的第一部分中对自己触动比较大的部分及与平常组织代码最为息息相关的部分做一个记录,加深印象. 主要讲述五点内容 ...