要做新项目了,需要搭建服务器开发环境。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的使用相关推荐

  1. VisualSvn Server介绍

    1 .VisualSvn Server   VisualSvn Server是免费的,而VisualSvn是收费的.VisualSvn是Svn的客户端,和Visual Studio集成在一起,但是不免 ...

  2. TortoiseSVN与VisualSVN Server搭建SVN版本控制系统

    本片主要介绍如何搭建SVN版本控制系统,主要使用工具: 1 客户端:TortoiseSVN (小乌龟) 2 服务端:VisualSVN Server 搭建出图形化管理,以及右键菜单版本控制管理的SVN ...

  3. Windows下VisualSVN Server的安装与配置方法(图文)

    这篇文章主要介绍了Windows下VisualSVN Server的安装与配置方法,比较详细,需要的朋友可以参考下 VisualSVN Server是免费的,而VisualSVN是收费的.Visual ...

  4. VisualSVN Server的配置和使用方法 图文

    VisualSVN Server是免费的,而VisualSVN是收费的.VisualSVN是SVN的客户端,和Visual Studio集成在一起, VisualSvn Server是SVN的服务器端 ...

  5. VisualSVN Server以及TortoiseSVN客户端的配置和使用方法

    http://www.cnblogs.com/beautifulFuture/archive/2014/07/01/3818211.html 近期学习代码管理工具,首先学习一下svn和Tortoise ...

  6. VisualSVN server 无法启动

    以前装了VisualSVN server 在Windows xp下部署特别快捷.管理起来也特别方便,一般要求不高,需要快速建立svn的话这是一个不错的选择. 最近发现svn启动不起来了,重新安装.重启 ...

  7. C#控制管理VisualSVN Server

    C#控制管理VisualSVN Server 原文:C#控制管理VisualSVN Server VisualSVN Server可以用WMI接口管理(Windows Management Instr ...

  8. Hacked VisualSVN Server by PHP to allow user change password

    index.php <?php $username = $_SERVER["PHP_AUTH_USER"]; //经过 AuthType Basic 认证的用户名 $auth ...

  9. VisualSVN Server Manager创建版本库以及TortoiseSVN的使用

    下载 TortoiseSVN:https://tortoisesvn.net/downloads.html TortoiseSVN中文包:https://tortoisesvn.net/downloa ...

  10. 使用VisualSVN Server自动发布站点

    使用VisualSVN Server自动发布站点可以节省大量的发布时间. 适用于项目测试版本 通常一个项目在测试阶段会遇到以下问题 1.开发人员修改缺陷要实时反应到测试环境 2.项目经理想让客户及时看 ...

最新文章

  1. Meta祭出元宇宙「阿拉丁神灯」!LeCun称世界模型将带来像人一样的AI
  2. 分段线性插值Python实现(同时估计误差)
  3. 信息系统项目管理师-知识管理知识点
  4. 但凡网络工程师会这个技能,也不至于天天抱怨工资低
  5. 美国通过热像无人机找到失踪老人
  6. java 方法继承方法_Java继承和方法重写
  7. 如何通过反射将字符串转换为类
  8. UVALive 7455 Linear Ecosystem (高斯消元)
  9. PyTorch框架学习七——自定义transforms方法
  10. Python 各种运算符 布尔运算 迭代器
  11. 一级调研员比三级调研员退休金高多少?
  12. CentOS SVN 服务器搭建
  13. WSO2 ESB 5.0.0 配置 MySQL 数据源
  14. github下载慢的两种解决方式
  15. 人机交互与计算机科学,阐述人机交互方式的变革引领计算机科学的发展
  16. 微信小游戏--JS基础
  17. 快速插入数据mysql数据库
  18. java小程序——数字找规律小游戏
  19. 计算机报名为什么说我没有在系统用户中注册,硕士研究生网上报名常见问题汇总...
  20. 【Python学习】Day-011 Day-012 元组、字符串、字符编码、字符串相关方法、字符串格式化

热门文章

  1. 阿龙的学习笔记---哈希表与C++11中unordered_map学习笔记
  2. Vue Uncaught SyntaxError: Unexpected token ‘<‘ 路由问题
  3. 符号函数sign(x)
  4. Revit建模中快速局部平面操作,一键搞定!
  5. 解决typora 或markdown文档图片失效问题
  6. 利用Python3开发一款小工具(环境配置)
  7. 无法与域“xxxx.com”的Active Directory域控制器(AD DC)连接 之DNS故障
  8. 斐波那契问题(兔子问题)
  9. 关于工厂类app的一些想法
  10. Framer 指南:从设计到编程、组件及其它