代码管理器

  

【摘】VS2008源代码管理工具配置手册  

2011-06-08 10:21:15|  分类: OOADP |  标签: |字号 订阅

第1章 VS项目软件配置工具介绍

1 .1 Svn和VisualSvn介绍

在进行TortoiseSvn(管理员客户端)+ AnkhSvn(VS2008插件) +VisualSvn Server(版本控制服务器)进行源代码版本控制前,有必要先了解下Subversion(Svn)。

Svn(Subversion)是近年来崛起的版本管理工具,是CVS的接班人。目前,绝大多数开源软件都使用Svn作为代码版本管理软件。

Svn客户端

Subversion的客户端有两类,一类是webSvn等基于web的,一种是以TortoiseSvn为代表的客户端软件。前者需要web服务器的支持,后者需要用户在本地安装客户端。

Svn服务器

Subversion支持linux和windows,更多是安装在linux下。

Svn服务器有2种运行方式:独立服务器和借助apache。2种方式各有利弊。

Svn存储版本数据也有2种方式:BDB和FSFS。因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点。

VisualSvn 、VisualSvn Server

VisualSvn是Svn的客户端,和Visual Studio集成在一起,但是是商业软件,收费;VisualSvn Server是基于Windows平台上的Subversion服务器,它是免费的。他具体包括了Subversion、Apache和一个相应的管理界面。所以推荐使用免费的TortoiseSvn客户端以及VS插件AnkhSvn 。

为什么要用Svn,而不用Vss?

相同点:都能集成在VS2008下进行源代码管理,都能完全内网开发。

不同点:Vss是基于“锁定--编辑—解锁”模式的,这个模式有一个弊端,就是当其他人在编辑相关单元文件的时候,此单元文件处于锁定状态,其他人如果想编辑这个单元文件的话,只能处于等待状态。后来在持续集成中我使用的Subversion替代Vss,Subversion是基于“修改—冲突—合并”的一个模式,也就是说多个人可以同时签出一个单元文件,编辑然后提交,如果多个人都修改了同一文件的某一行的话,就会发生冲突,手工解决冲突。

Internet开发,和离线开发,VisualSvn会比Vss更胜一筹。

为什么要用VisualSvn Server,而不直接用Subversion?

因为如果直接使用Subversion,那么在Windows 系统上,要想让它随系统启动,就要封装Svn Server为windws service,还要通过修改配置文件来控制用户权限,另外如果要想以Web方式【http协议】访问,一般还要安装配置Apache,如果是新手,岂不是很头痛?而VisualSvn Serve集成了Subversion和Apache,省去了以上所有的麻烦。安装的时候Svn Server已经封装为windws service,Apache服务器的配置也只是在图像界面上,指定认证方式、访问端口等简单操作;另外,用户权限的管理也是通过图像界面来配置。

VisualSvn Server是完全开源和免费的,当然它的官方客户端(VisualSvn)并不免费,不过没关系, VisualSvn Serve客户端有太多的免费版本供我们选择,TortoiseSvn就是一个不错的选择.

1.2 必备软件

基于VS2008 Team开发环境的源代码版本控制需要以下软件,安装顺序没有限制,一切默认安装即可,详细过程后面章节会有叙述:

(1) VisualSvn Server(版本控制服务器)免费开源软件。

版本号:VisualSvn-Server-2.1.4.msi,官方下载地址

http://www.visualSvn.com/files/VisualSvn-Server-2.1.4.msi

(2) TortoiseSvn(管理员客户端),免费开源软件。

版本号TortoiseSvn-1.6.11.20210-win32-Svn-1.6.13.msi,官方下载地址

http://ncu.dl.sourceforge.net/project/tortoiseSvn/Application/1.6.11/TortoiseSvn-1.6.11.20210-win32-Svn-1.6.13.msi

(3) AnkhSvn(VS2008插件),免费开源软件。

版本号:AnkhSvn-2.1.8420.8.msi,官方下载地址

http://www.open.collab.net/files/documents/175/3887/AnkhSvn-2.1.8420.8.msi


第2章 VisualSvn Server

2.1 VisualSvn Server

VisualSvn Server是免费的,而VisualSvn是收费的。VisualSvn是Svn的客户端,和Visual Studio集成在一起,但是不免费, VisualSvn Server是Svn的服务器端,包括Subversion、Apache和用户及权限管理,优点在上面已经说过了。

版本号:VisualSvn-Server-2.1.4.msi,官方下载地址

http://www.visualSvn.com/files/VisualSvn-Server-2.1.4.msi

2.2 VisualSvn Server安装过程

下载后,运行 VisualSvn-Server-2.1.4.msi 程序,点击Next,下面的截图顺序即为安装步骤:

【步骤1】安装首界面,见图2-2-1。

clip_image002

图2-2-1安装首界面

【步骤2】选择组件为服务器和管理终端功能 见图2-2-2。

clip_image004

图2-2-2选择组件为服务器和管理终端功能

【步骤3】自定义安装配置 见图2-2-3。

clip_image006

图2-2-3自定义安装配置

【注意】

如果不选择Use secure connection ,Server Port那里,默认端口有80/81/8080三个;如果选中最后面的CheckBox,则表示使用安全连接【https协议】,这是的端口只有433/8433二个可用。 默认是选用的。

至于授权Authentication,默认选择 VisualSVN Server自带的用户和用户组

【步骤4】 点击安装按钮,进行安装 见图2-2-4。

clip_image008

【步骤5】安装成功,服务启动,见图2-3-5。

clip_image010

图2-3-5 安装成功

2.3 VisualSvn Server 配置与使用方法

安装好VisualSVN Server后【安装过程看2.2节】,运行VisualSVN Server Manger,下面是启动界面,见图2-3-1:

clip_image012

图2-3-1 VisualSVN Server 启动界面

2.3.1添加代码库StartKit

下面添加一个代码库Repository 叫StartKit,并进行相关设置:

【步骤1】创建代码库StartKit,见图2-3-2。

clip_image014

图2-3-2创建代码库StartKit

【步骤2】代码库基本配置,见图2-3-3,创建新的代码库,在下图所示的文本框中输入代码库名称:

clip_image016

图2-3-3代码库基本配置

【注意】

Repository URL 地址是用来从客户端或者VS2008中连接服务器。机器名可以改成IP,这里用的安全连接模式https。

上图中的代码库文件结构CheckBox如果选中,则在代码库StartKit下面会创建trunk、branches、tags三个子目录;不选中,则只创建空的代码库StartKit。默认不选中

点击OK按钮,代码库就创建成功了,见图2-3-4。

clip_image018

图2-3-4 代码创建成功

2.3.2 代码库安全性设置 用户和用户组

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

【步骤1】创建用户。

创建用户,并设置用户名和密码,见图2-3-5,图2-3-6。

clip_image020

图2-3-5 创建用户

clip_image022

图2-3-6 用户名和密码设置

输入上面的信息,点击OK,我们就创建一个用户了。按照上面的过程,分别添加用户startKiter1、startKiter2、startKiter3。

【步骤2】添加这些用户到我们刚才创建的项目里。

右击代码库StartKit的属性见图2-3-7,弹出属性对话框见图2-3-8。

clip_image024

图2-3-7 代码库的属性菜单

clip_image026

图2-3-8 给用户分配权限

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

【注意】

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

【步骤3】创建组,并选择该组的用户,见图2-3-9。

clip_image028

图2-3-9 给组划分用户


第3章 TortoiseSvn

3.1 TortoiseSvn介绍

TortoiseSvn 是 Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录。文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器。你可以将文件恢复到过去的版本,并且可以通过检查历史知道数据做了哪些修改,谁做的修改。这就是为什么许多人将 Subversion 和版本控制系统看作一种“时间机器”。

版本号TortoiseSvn-1.6.11.20210-win32-Svn-1.6.13.msi,官方下载地址

http://ncu.dl.sourceforge.net/project/tortoiseSvn/Application/1.6.11/TortoiseSvn-1.6.11.20210-win32-Svn-1.6.13.msi

3.2 TortoiseSvn安装过程

下载后,运行 TortoiseSvn-1.6.11.20210-win32-Svn-1.6.13.msi 程序,点击Next,下面的截图顺序即为安装步骤:

【步骤1】 安装界面见图3-2-1。

clip_image030

图3-2-1 安装界面

【步骤2】选择安装地址,见图3-2-2。

clip_image032

图3-2-2选择安装地址

【步骤3】安装成功,见图3-2-3。

clip_image034

图3-2-3 安装成功

点击Finish按钮后会提示重启系统,其实不重启也没有关系,呵呵:-)

3.3 TortoiseSvn配置和使用方法

在 3.2节中,我已经讲解了怎样安装TortoiseSVN。在第2章的讲解中已经讲了怎么使用VisualSVN Server了,下面是TortoiseSVN的简单使用方法。

3.3.1签入源代码到SVN服务器

【步骤1】签入文件操作,连接SVN服务器

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

clip_image036

图3-2-1 右键菜单

【步骤2】签入新的项目文件

点击Import,弹出下面的窗体,见图3-2-2其中https://10.3.2.150是服务器名,svn是代码仓库的根目录,StartKit是我们在上个教程中添加的一个代码库:

【注意】

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

clip_image038

图3-2-2 签入新的项目文件

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

clip_image040

图3-2-3 输入用户名和密码

在上面的窗体中输入用户名和密码,点击OK按钮,如图3-2-4所示。

clip_image042

图3-2-4

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

3.3.2签出源代码到本机

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

clip_image044

图3-2-5 迁出代码到本机操作

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

【注意】

上图中的Checkout Depth,有4个选项,分别是迁出全部、只签出下一级子目录和文件、只签出文件、只签出空项目,默认的是第一项。上面的例子中,我们也可以使用web的方式访问代码库,在浏览器中输入http://10.3.2.150/svn/StartKit/ ,这时候也会弹出对话框,要求输入用户名和密码,通过验证后即可浏览代码库中的内容。

搞定!源代码已经成功签出到刚才新建的StartKit目录中。打开StartKit目录,可以看到如下图的文件夹结构如图3-2-6所示

clip_image046

图3-2-6

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

clip_image048

图3-2-7

大家看一下不同状态所对应的图片如图3-2-8所示。

clip_image050

图3-2-8

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

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

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

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

在StartTest文件夹上点击右键或在StartTest文件下的空白处点击右键,点击SVN Commit…弹出下面的窗体如图3-2-9所示。

clip_image052

图3-2-9

点击OK按钮后,弹出如下图的窗体,图3-2-10

clip_image054

图3-2-10

3.3.4添加新文件到SVN服务器

我们在StartKit文件下添加一个新的类文件a.cpp,状态为non-versione状态在StartKit文件下的空白处点击右键,点击SVN Commit…,和上面讲的提交修改过的文件到SVN服务器一样,就可以了。

另外也可以在文件a.cpp上点击右键,点击TortoiseSVN=>>Add, 选中a.cpp文件,点击OK按钮,这样并没有将这个文件提交到SVN服务器,只是将这个文件标记为源代码库库中的文件,并将其状态置为新添加状态。之后,我们要再SVN Commit这个文件一次,弹出如下图的窗体: 图3-2-11才可以将其真正提交到SVN服务器上的代码库中。

clip_image056

图3-2-11 提交新加的文件a.cpp

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

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

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

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

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

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

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

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

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

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

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

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


第四章 AnkhSvn

4.1 AnkhSvn介绍

AnkhSVN是一款在VS中管理Subversion的插件,您可以在VS中轻松的提交、更新、添加文件,而不用在命令行或资源管理器中提交。而且该插件属于开源项目。

版本号:AnkhSvn-2.1.8420.8.msi,官方下载地址

http://www.open.collab.net/files/documents/175/3887/AnkhSvn-2.1.8420.8.msi

4.2 AnkhSvn安装

下载完毕后,进行安装,安装向导安装即可,如下步骤。

【步骤1】安装界面,见图4-2-1。

clip_image058

图4-2-1 安装界面

【步骤2】安装成功

clip_image060

图4-2-2 安装成功

4.2 AnkhSvn连接VisualSvn Server 下载源项目

安装成功后,打开vs2008将会产生如下菜单,见图4-2-1。

clip_image062

图4-2-1 VS2008菜单

如果没有此菜单,请查看工具下的,选项中的,source control如图4-2-2所示:

clip_image064

图4-2-2 VS2008设置菜单

打开一个项目连接SVN中,如图4-2-3所示

clip_image066

图4-2-3 连接SVN

url:输入http://10.3.2.150/svn/StartKit 如图4-2-4所示,输入库账户密码如图4-2-5所示。

clip_image068

图4-2-4 添加svn库地址Url

clip_image070

图4-2-5 输入库用户密码

输入正确的口令后可以看到已经建好的项目,进入需要打开的项目目录打开程序,如图4-2-6所示,在VS2008中打开项目StartTest程序,如图4-2-7,图4-2-8所示。

clip_image072

图4-2-6 打开库StartKit

clip_image074

图4-2-7 打开SVN库StartKit下面的项目StartTest

clip_image076

图4-2-8 下载界面

Local Directory是指定本地存放程序路径,大家可以自行设定。点OK,可以看到程序从服务器传到本地。

4.3 AnkhSvn开发项目时其它的操作流程

在程序修改时一般操作流程及方法,

【步骤1】首先点update,更新为最新版本,如图4-3-1。

clip_image078

图4-3-1更新项目程序为最新版本

【步骤2】然后对需要修改的程序文件,进行锁定。如下图4-3-2所示:

clip_image080

图4-3-2

可以键入提示信息,如下图所示:

clip_image082

图4-3-3 锁定文件

锁定后可以看到,有加锁图标,如图4-3-4所示:

clip_image084

图4-3-4 锁后文件状态

【步骤3】修改后,更新程序,如下图4-3-5所示:

clip_image086

图4-3-5提交

可以在message中输入备注信息。

【步骤4】手动解锁文件见图4-3-6。

clip_image088

图4-3-6手动解锁

【步骤5】查看版本历史 见图4-3-7。

clip_image090

图4-3-7查看项目版本历史

【步骤6】比较版本,点击diff如图4-3-8所示:

clip_image092

图4-3-8 比较

【注意】选择要对比的版本,

HEAD The latest (or “youngest”) revision in the repository.

BASE The revision number of an item in a working copy. If the item has been locally modified, the “BASE version” refers to the way the item appears without those local modifications.

COMMITTED The most recent revision prior to, or equal to, , in which an item changed.

PREV The revision immediately before the last revision in which an item changed. Technically, this boils down to -1.

点OK,出现结果如下图所示4-3-9:

clip_image094

图4-3-9 比较结果

 

但是我装代码管理器的服务端和客户端的下载地址分别是:

http://dl.pconline.com.cn/download/53122-1.html客户端

http://www.visualsvn.com/server/download/服务器端

http://www.subversion.org.cn/?action-channel-name-product#download这个也不错

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值