`
kalogen
  • 浏览: 880074 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

SVN 版本服务器搭配全过程详解(服务端、客户端)[转]

 
阅读更多

1.为什么要用VisualSVN Server,而不用Subversion?

回答:

因为如果直接使用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和用户及权限管理,优点在上面已经说过了。

 

好了,言归正传,正式开始我们今天的教程。

 

一、VisualSVN Server的配置和使用方法【服务器端】

安装好VisualSVN Server后【安装过程看这里】,运行VisualSVN Server Manger,下面是启动界面:

 

好的,下面我来添加一个代码库【Repository】,如下图:

按上图所示,创建新的代码库,在下图所示的文本框中输入代码库名称:

注意:上图中的CheckBox如果选中,则在代码库StartKit下面会创建trunk、branches、tags三个子目录;不选中,则只创建空的代码库StartKit。

点击OK按钮,代码库就创建成功了。

创建完代码库后,没有任何内容在里面。我会在这个教程的第二部分说明如何迁入源代码。

下面,我们开始安全性设置,在左侧的Users上点击右键:

输入上面的信息,点击OK,我们就创建一个用户了。按照上面的过程,分别添加用户Developer1、tester1、manager1,好了,我们开始添加这些用户到我们刚才创建的项目里:

 

点击上图中的"Add..."按钮,在下图中选择我们刚才添加的用户,点击OK按钮:

说明:大家可能注意到了下图中的Groups,是的,你也可以先创建组,把用户添加到各个组中,然后对组进行授权,操作比较简单,在此略过。

 

按照下图所示,分别对用户【或组】进行授权:

点击"确定"按钮,上面的用户就具有了访问StartKit代码库的不同权限。

因为用户starter在团队中是新来者,不希望他向代码库中提交新代码,所以他只能读取代码库中的代码,不能提交代码。tester1是测试人员,不负责代码编写,所以也是只读权限。而Developer1和manager1是开发人员和项目经理,自然具有读、写的权限。

在实际的项目开发过程中,Developer和tester往往不可能只有一个人,这时候使用组来授权更加方便,这个大家可以自己练习一下。

二、TotoiseSVN的基本使用方法

 

在 项目管理实践教程一、工欲善其事,必先利其器【Basic Tools】中,我已经讲解了怎样安装TortoiseSVN。在上面的讲解中已经讲了怎么使用VisualSVN Server了,今天我要讲的是,TortoiseSVN的简单使用方法。

一、签入源代码到SVN服务器

假如我们使用Visual Studio在文件夹StartKit中创建了一个项目,我们要把这个项目的源代码签入到SVN Server上的代码库中里,首先右键点击StartKit文件夹,这时候的右键菜单如下图所示:

图2-2-1

点击Import,弹出下面的窗体,其中http://zt.net.henu.edu.cn 是服务器名,svn是代码仓库的根目录,StartKit是我们在上个教程中添加的一个代码库:

说明:左下角的CheckBox,在第一次签入源代码时没有用,但是,在以后你提交代码的时候是非常有用的。

图2-2-2

 

点击OK按钮,会弹出下面的窗体,要求输入凭据:

图2-2-3

在上面的窗体中输入用户名和密码,点击OK按钮:

图2-2-4

如上图所示,好了,源代码已经成功签入SVN服务器了。这时候团队成员就可以迁出SVN服务器上的源代码到自己的机器了。

二、签出源代码到本机

在本机创建文件夹StartKit,右键点击Checkout,弹出如下图的窗体:

图2-2-5

在上图中URL of Repository:下的文本框中输入svn server中的代码库的地址,其他默认,点击OK按钮,就开始签出源代码了。

说明:上图中的Checkout Depth,有4个选项,分别是迁出全部、只签出下一级子目录和文件、只签出文件、只签出空项目,默认的是第一项。上面的例子中,我们也可以使用web的方式访问代码库,在浏览器中输入http://zt.net.henu.edu.cn/svn/StartKit/

这时候也会弹出对话框,要求输入用户名和密码,通过验证后即可浏览代码库中的内容。

 

搞定!源代码已经成功签出到刚才新建的StartKit目录中。

打开StartKit目录,可以看到如下图的文件夹结构:

图2-2-5

一旦你对文件或文件夹做了任何修改,那么文件或文件夹的显示图片机会发生变化。下图中我修改了其中的二个文件:

图2-2-7

大家看一下不同状态所对应的图片:

图2-2-8

我们已经知道怎么将源代码签入到SVN服务器,怎么从服务器签出代码到本机,也简单了解了不同状态所对应的图案啦。

三、提交修改过的文件到SVN服务器

上面的图2-2-7中,我修改了位于Model文件中的二个文件ImageInfo.cs和NewsInfo.cs,下面演示如何提交到SVN服务器。

注意:提交源代码到服务器时,一定确保本机的代码是最新版本,否则可能提交失败,或者造成版本冲突。

在Model文件夹上点击右键或在Model文件下的空白处点击右键,点击SVN Commit…弹出下面的窗体:

图2-2-9

点击OK按钮后,弹出如下图的窗体:

图2-2-10

 

四、添加新文件到SVN服务器

我们在Model文件下添加一个新的类文件UserInfo.cs,在Model文件下的空白处点击右键,点击SVN Commit…,和上面讲的提交修改过的文件到SVN服务器一样,就可以了。

另外也可以在文件UserInfo.cs上点击右键,点击TortoiseSVN=>>Add,弹出如下图的窗体:

图2-2-11

选中UserInfo.cs文件,点击OK按钮,这样并没有将这个文件提交到SVN服务器,只是将这个文件标记为源代码库库中的文件,并将其状态置为修改状态。之后,我们要再SVN Commit这个文件一次,才可以将其真正提交到SVN服务器上的代码库中。

 

上面讲是添加文件,实际上,添加文件夹的步骤也是一样的,这里就不说了。

 

五、更新本机代码与SVN服务器上最新的版本一致

这个也很简单,只要在需要更新的文件夹上点击右键或在该文件下的空白处点击右键,点击SVN Update,就可以了。

注意:更新操作可能会因为版本冲突而失败,这是可以使用合并【Merge】或其他方法解决;也可能因为锁定【Get Lock】而失败,这是需要先解锁【Release Lock】。

六、重命名文件或文件夹,并将修改提交到SVN服务器

只要在需要重命名的文件或文件夹上点击右键,点击TortiseSVN=>>Rename…,在弹出的窗体中输入新名称,点击OK按钮,就可以了。此方法也不是直接重命名,而是将该文件或文件夹的名称标记为重命名后名称,也需要我们使用SVN Commit提交到SVN服务器后才真正重命名。

七、删除文件或文件夹,并将修改提交到SVN服务器

最简单就是,你直接删除文件或文件夹,然后使用SVN Commit提交更新到SVN服务器。另外一种方法是在你要删除的文件或文件夹上点击右键=>>TortoiseSVN=>>Delete删除,此方法也不是直接删除,而是将该文件或文件夹的状态置为删除,也需要我们使用SVN Commit提交到SVN服务器后才真正删除。

说明:实际上,从你把源代码迁签入SVN服务器开始,每一个版本的数据和文件,就算是你已经删除了的,也都可以随时迁出。

以上只是TortoiseSVN最简单的几个功能,其实他的功能远不止这些,其他的功能大家可以在使用的过程中慢慢体会,有些功能我会在下面的教程中使用到,到时候会和大家讲清楚用法。

注意:向SVN服务器提交源代码的时候,一定不要提交bin、obj等文件夹,否则会很麻烦。但是web项目的bin目录除外,但是web项目的bin目录中的引用其他项目而生成的dll不需要提交。

一个好习惯:如果项目中引用了其他的第三方的程序集,比如EnterpriseLibrary、FCKEditor等,这时候不要简单从他们的安装位置引用,而是在你的解决方案下,添加一个Library的目录,把需要的程序集复制到这里,然后从Library目录引用,这样有什么好处,自己想一想吧

分享到:
评论

相关推荐

    SVN 版本服务器搭配全过程详解(含服务端、客户端)pdf

    SVN 版本服务器搭配全过程详解(含服务端、客户端),这里介绍的是VisualSVN Server,一个很小巧的工具

    svn 服务端 客户端

    svn 服务端 客户端svn 服务端 客户端svn 服务端 客户端svn 服务端 客户端svn 服务端 客户端svn 服务端 客户端svn 服务端 客户端svn 服务端 客户端svn 服务端 客户端svn 服务端 客户端svn 服务端 客户端svn 服务端 ...

    SVN服务端与客户端

    SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同...

    SVN版本服务器搭建服务端客户端资料全.doc

    SVN版本服务器搭建服务端客户端资料全.doc

    svn服务端与客户端

    SVN客户端是开发者用来与 SVN 服务端交互的工具,它们提供了图形界面或者命令行接口来执行版本控制操作。常见的 SVN 客户端包括: 1. **TortoiseSVN**: 这是一个 Windows shell 扩展,它将 SVN 功能集成到资源管理...

    SVN 服务端和客户端加客户端破解文件打包

    SVN 服务端和客户端加客户端破解文件 win7和xp都可以使用。

    svn服务器端+客户端+eclipse插件

    综上所述,"svn服务器端+客户端+eclipse插件"的组合为JavaWeb开发提供了一套完整的版本控制解决方案,能够有效提升团队的工作效率和代码质量。在安装和配置好这些工具后,开发者可以充分利用SVN的强大功能,实现更...

    SVN服务端和客户端安装与使用

    使用客户端软件连接 SVN 服务器需要在项目目录鼠标右键—>TortoiseSVN—>版本库浏览器—>输入 SVN 服务器地址。 Checkout 操作 Checkout 操作需要链接到 SVN 服务器端,并更新服务器端的数据到本地。Checkout 只在...

    SVN版本控制系统(客户端和服务端)

    ### SVN版本控制系统(客户端和服务端) #### 一、SVN版本控制系统概述 版本控制系统是软件开发过程中不可或缺的一部分,它能够帮助团队有效地管理源代码的变化历史,实现多人协作下的代码管理和版本控制。...

    svn服务端安装和使用svn服务端安装和使用svn服务端安装和使用svn服务端安装和使用svn服务端安装和使用svn服务端安装和

    svn服务端安装和使用svn服务端安装和使用svn服务端安装和使用svn服务端安装和使用svn服务端安装和使用svn服务端安装和使用svn服务端安装和使用svn服务端安装和使用svn服务端安装和使用svn服务端安装和使用svn服务端...

    SVN服务端和客户端的安装包

    总结,SVN服务端和客户端的安装涉及多个步骤,包括选择合适的服务器软件、创建和配置版本库、设置访问控制,以及安装客户端并学会基本操作。掌握这些知识,能有效提升团队的协作效率,保证项目的版本管理和源代码...

    SVN(服务端/客户端)安装包

    本资源包含了SVN的服务端和客户端安装包,是搭建SVN服务器和配置客户端的基础。 一、SVN服务器端(SVN Server) 1. 安装:首先,你需要在服务器上安装SVN服务端,常见的有Apache的Subversion模块(mod_dav_svn)或...

    SVN 1.8.8.25755 服务端 客户端 语言包 VS插件 删除命令

    了解这些基本概念后,我们可以进一步探讨如何安装、配置和使用SVN服务端和客户端,以及如何在VS中利用插件进行版本控制。在实际项目中,正确配置SVN可以帮助团队更有效地管理代码,避免因误操作导致的数据丢失,并...

    SVN安装,部署,服务端,客户端安装详解

    【SVN安装,部署,服务端,客户端安装详解】 Subversion(SVN)是一种广泛使用的版本控制系统,尤其在跨平台的开发环境中,它为团队协作提供了高效且可靠的代码管理方案。SVN的主要特点是其对CVS功能的改进,以及对...

    SVN版本控制服务端客户端32位64位

    客户端则是开发者与SVN服务端交互的工具,允许用户查看版本库内容、检出(Checkout)项目、提交(Commit)更改、更新(Update)到最新版本等。对于Windows操作系统,TortoiseSVN是一个非常流行的图形化客户端,它...

    svn服务端客户端安装包

    svn服务端客户端安装包

    svn版本库,桌面服务器,客户端打包版

    在这个“svn版本库,桌面服务器,客户端打包版”中,包含了创建和管理SVN版本库所需的全部组件。 首先,让我们深入了解一下SVN的核心组成部分: 1. 版本库(Repository):这是SVN存储所有版本化文件的地方。...

    SVN服务端和客户端完整版

    SVN服务端是系统的核心,负责存储和管理版本库,而客户端则是用户与服务端交互的工具。 在“SVN服务端和客户端完整版”中,我们通常会找到以下组件: 1. **服务端软件**:如VisualSVN Server或CollabNet ...

Global site tag (gtag.js) - Google Analytics