VisualSVN Server的使用
要做新项目了,需要搭建服务器开发环境。oracle数据库和SVN Server是必不可少的。
svn的版本控制很好和强大,一般我们说的都是客户端,服务端一般是VisualSVN Server或者Subversion.
开始之前还是简单的了解一下这个东东到底是什么吧。
百科:
http://baike.baidu.com/view/9636511.htm
VisualSVN
VisualSVN Serve集成了Subversion和Apache,简化了手工配置Subversion的繁琐步骤。
VisualSVN Server是免费的,而VisualSVN是收费的。VisualSVN是SVN的客户端,和Visual Studio集成在一起, VisualSvn Server是SVN的服务器端,包括Subversion、Apache和用户及权限管理,优点在上面已经说过了。
1.为什么要用VisualSVN Server,而不用Subversion?
SVN 分为服务端和客户端,就服务端而言分为 Subversion和VisualSVN Server
因为如果直接使用Subversion,那么在Windows 系统上,要想让它随系统启动,就要封装SVN Server为windws service,还要通过修改配置文件来控制用户权限,另外如果要想以Web方式【http协议】访问,一般还要安装配置Apache,如果是新手,岂不是很头痛?而VisualSVN Serve集成了Subversion和Apache,省去了以上所有的麻烦。安装的时候SVN Server已经封装为windws service,Apache服务器的配置也只是在图像界面上,指定认证方式、访问端口等简单操作;另外,用户权限的管理也是通过图像界面来配置。
2.为什么不用TFS?
因为我们一开始就是用Subversion和TortioseSVN,所以就没有更换其他的软件。至于TFS至今没有用过,其实,我只是看了一些的文章而已,对它也不了解。
3.VisualSVN Server是免费的吗?
是的,VisualSVN Server是免费的,而VisualSVN是收费的。VisualSVN是SVN的客户端,和Visual Studio集成在一起, VisualSvn Server是SVN的服务器端,包括Subversion、Apache和用户及权限管理,优点在上面已经说过了。
--------------------------------------------------------------------
如果你使用过apache服务器,你就知道VisualSVN Server的基本原理了。
下载地址 http://www.visualsvn.com/server/
现在开始搭建。
安装步骤很简单,基本上都是下一步,没什么好讲的,就算是有些需要设置的东西也可以在
安装完成后再去修改,所以安装我就不说了。
安装完成后,我们打开VisualSVN Server的manager
Repositories是库的意思,结构很简单,就是server,库,用户,组。
右击VisualSVN Server(local)查看属性,general和network比较重要。
general可以从新选定库的位置,network可以设置VisualSVN Server的网络地址。
注意,作为服务器,IP肯定是要固定的。这里的IP就是这台机器的实际IP。
端口一般是443或8443.
修改完以后,我们再看看首页的信息。
可以看见这个Server URL已经变了。
下面该创建用户来控制权限了,这个是必须的,不然svn就没什么意义了。
在设置之前,我们先看看库的目录下的文件结构。
在库的根目录下,我们看到了3个文件。
打开看看内容:
--- authz文件
# Default authorization settings
[/]
* = rw
--- authz-windows文件
# Default authorization settings
[/]
S-1-5-32-545=rw
--- htpasswd 文件
里面没有任何内容
好,现在开始权限控制的设置:
右击Reposities,查看属性
可以看到,默认是有一个EveryOne用户的,他的权限是读写。
permission是允许的意思,下面有4个,分别是 继承父节点,没有访问权限,只读,读写。
我们需要把这个改成只读的,必然所有人都可以修改svn上的东西了。
保存后我们在看看authz文件:
[/]
*=r
现在开始添加用户:
右击Users,点击添加用户。
我们添加2个测试账户,2个开发账户。
现在我们开始添加Groups组,这个组把用户分成组,方便控制权限,其实也可以不用的,用户多的话,这样很好管理。
右击Groups:
我们添加2个组,一个测试组,一个开发组。
现在往组里添加用户,右击组,现则编辑:
添加完用户和组后,authz文件
[/]
*=r
[groups]
dev=dev2,dev1
test=test2,test1
同时,htpasswd 文件
test1:$apr1$ibg$JdsC/khoavJ8bfu88KViW/
test2:$apr1$id1$SJQ2HQgQoFxfTE7xu2kKf0
dev1:$apr1$ief$K3bq.t7EZFhbo.CHN3dEq1
dev2:$apr1$ifj$fjjGB6xxKZcttFNx5dJFn.
可以看出visualsvnserver自动把秘密加密了。
现在只是建立好权限关系而已,这些关系必须和实际的代码库关联才会起作用。
右击Reposities:
这就是刚才控制对库的权限控制的地方,在这里要把我们刚才建立好的权限关系添加进来。
在Security弹出框中,add组,并设置权限,也可以按照用户添加,
权限管理的东西都是差不多一样的。
修改完权限后,在查看authz文件:
[/]
*=r
@dev=rw
@test=r
[groups]
dev=dev2,dev1
test=test2,test1
现在我们对这个文件的功能和数据结构就很清楚了。
它就是管理用户和权限的。
[/]
*=r //everyone游客只有只读权限
@dev=rw //dev组中的用户有读写权限
@test=r //test组中的用户只有只读权限
[groups]
dev=dev2,dev1 //dev组的成员有dev2,dev1
test=test2,test1 //test组的成员有test2,test1
清楚了这些,我们就可以直接修改这些文件来修改用户和权限了
好,到此为止,权限已经设置好了,可以开始建立库了。
刚才的Reposities只是库的根目录,我们需要在这个目录下建立库和目录结构,管理项目。
结构你随便建,一般分两大部分,代码和文档。然后在这下面再分结构。
右击库可以看到有个Copy URL to Clipboad(拷贝到剪贴板)就是复制url多的意思,
内容如下:
https://10.55.15.66/svn/ccbank/
在这个库下,我们需要建立目录来管理项目:
修改完server的东西后,记得要重启服务器。
在这里要说一下:
我们在右击刚才库下的目录也可以设置权限的!所以权限的设置起始是可以精确到那个用户对哪个目录的读写。
一般我们只是这样简单的赋予读还是写的权限,在一些大的公司做大的项目,起始都是精确到目录的,也即是
一个用户只可以对某些目录下的东西进行读写,其他的可以使只读,或者没有权限读取。这样的管理才是
真正的管理,才能保证项目的安全。
/****************************************************svn客户端tortoiseSVN****************************************************************/
服务端构建好了,现在需要在客户端来上传和下载代码,客户端当然是用tortoiseSVN了。
这个很好用,我强烈建议用tortoiseSVN 1.6!!!
为什么呢?因为我在使用1.7时总是出现一些错误,我的操作系统是win7,使用时遇见过非法的参数,或者干脆svn无响应直接程序死了。
在网上查半天也没有一个解决方案,后来我重新安装了1.6,什么问题都没有出现!!!
看来1.6还是很稳定的版本,最新的版本不一定就是最好的!
安装完成后,右击一个文件夹,会看到:
在这里,我要说说Export和Import;Checkout和Checkin命令(这里没有Checkin)。
Export是把服务器上的东西下载到本地,但是不受svn版本控制,就是没有那个.svn文件夹。
Import是把本地文件上传到服务器,同样也不受svn版本控制。
而Checkout是把服务器上的东西下载到本地,并且有svn版本控制,目录下会有.svn文件夹。
Checkin这里没有,svn的插件会有这个命令。也是有版本控制的。
我们想往服务器上传,可以选择Import,把文件直接上传。
或者我们先Checkout把svn的目录下载下来(没有内容),这样有了版本控制后,
在往这个文件夹添加东西,然后右击这个文件夹选择SVN Commit命令吧文件提交上去。
1,Import
在本地建立一个文件夹,并吧需要上传的文件放在里面。
在服务器上刷新一下就可以看到,文件已经上传了。
但是本地的那个文件目录是不受svn控制的。
2,Checkout-----Commit
在本地建立一个文件夹,右击选择Checkout
这时这个文件夹已经受版本控制了,我们可以添加文件并提交。
这样服务器上就有文件了。
VisualSVN Server的使用相关推荐
- VisualSvn Server介绍
1 .VisualSvn Server VisualSvn Server是免费的,而VisualSvn是收费的.VisualSvn是Svn的客户端,和Visual Studio集成在一起,但是不免 ...
- TortoiseSVN与VisualSVN Server搭建SVN版本控制系统
本片主要介绍如何搭建SVN版本控制系统,主要使用工具: 1 客户端:TortoiseSVN (小乌龟) 2 服务端:VisualSVN Server 搭建出图形化管理,以及右键菜单版本控制管理的SVN ...
- Windows下VisualSVN Server的安装与配置方法(图文)
这篇文章主要介绍了Windows下VisualSVN Server的安装与配置方法,比较详细,需要的朋友可以参考下 VisualSVN Server是免费的,而VisualSVN是收费的.Visual ...
- VisualSVN Server的配置和使用方法 图文
VisualSVN Server是免费的,而VisualSVN是收费的.VisualSVN是SVN的客户端,和Visual Studio集成在一起, VisualSvn Server是SVN的服务器端 ...
- VisualSVN Server以及TortoiseSVN客户端的配置和使用方法
http://www.cnblogs.com/beautifulFuture/archive/2014/07/01/3818211.html 近期学习代码管理工具,首先学习一下svn和Tortoise ...
- VisualSVN server 无法启动
以前装了VisualSVN server 在Windows xp下部署特别快捷.管理起来也特别方便,一般要求不高,需要快速建立svn的话这是一个不错的选择. 最近发现svn启动不起来了,重新安装.重启 ...
- C#控制管理VisualSVN Server
C#控制管理VisualSVN Server 原文:C#控制管理VisualSVN Server VisualSVN Server可以用WMI接口管理(Windows Management Instr ...
- Hacked VisualSVN Server by PHP to allow user change password
index.php <?php $username = $_SERVER["PHP_AUTH_USER"]; //经过 AuthType Basic 认证的用户名 $auth ...
- VisualSVN Server Manager创建版本库以及TortoiseSVN的使用
下载 TortoiseSVN:https://tortoisesvn.net/downloads.html TortoiseSVN中文包:https://tortoisesvn.net/downloa ...
- 使用VisualSVN Server自动发布站点
使用VisualSVN Server自动发布站点可以节省大量的发布时间. 适用于项目测试版本 通常一个项目在测试阶段会遇到以下问题 1.开发人员修改缺陷要实时反应到测试环境 2.项目经理想让客户及时看 ...
最新文章
- Meta祭出元宇宙「阿拉丁神灯」!LeCun称世界模型将带来像人一样的AI
- 分段线性插值Python实现(同时估计误差)
- 信息系统项目管理师-知识管理知识点
- 但凡网络工程师会这个技能,也不至于天天抱怨工资低
- 美国通过热像无人机找到失踪老人
- java 方法继承方法_Java继承和方法重写
- 如何通过反射将字符串转换为类
- UVALive 7455	Linear Ecosystem (高斯消元)
- PyTorch框架学习七——自定义transforms方法
- Python 各种运算符 布尔运算 迭代器
- 一级调研员比三级调研员退休金高多少?
- CentOS SVN 服务器搭建
- WSO2 ESB 5.0.0 配置 MySQL 数据源
- github下载慢的两种解决方式
- 人机交互与计算机科学,阐述人机交互方式的变革引领计算机科学的发展
- 微信小游戏--JS基础
- 快速插入数据mysql数据库
- java小程序——数字找规律小游戏
- 计算机报名为什么说我没有在系统用户中注册,硕士研究生网上报名常见问题汇总...
- 【Python学习】Day-011 Day-012 元组、字符串、字符编码、字符串相关方法、字符串格式化
热门文章
- 阿龙的学习笔记---哈希表与C++11中unordered_map学习笔记
- Vue Uncaught SyntaxError: Unexpected token ‘<‘ 路由问题
- 符号函数sign(x)
- Revit建模中快速局部平面操作,一键搞定!
- 解决typora 或markdown文档图片失效问题
- 利用Python3开发一款小工具(环境配置)
- 无法与域“xxxx.com”的Active Directory域控制器(AD DC)连接 之DNS故障
- 斐波那契问题(兔子问题)
- 关于工厂类app的一些想法
- Framer 指南:从设计到编程、组件及其它