VS2005 + VSS2005 实现团队开发、源代码管理、版本控制

VS2005 + VSS2005 实现团队开发、源代码管理、版本控制



一、 开发前的准备

1、 在装有Windows 2000或者Windows XP Professional的机器上安装.Net Framework SDK、Visual Studio.Net、Visual Source Safe 6C。(如果用户操作系统是Windows .Net Server,则无须安装.Net Framework SDK,.Net Server自带的IIS 6已经完全包含了对.Net的支持)这些工具在Visual Studio.Net的安装盘上都可以找到。
2、 一台专门用于存放版本控制中心数据库的服务器。该服务器不需要安装.NET Framework SDK和VS.Net,但是必须安装 VSS 6C。我们称这台服务器为开发服务器DataCenter。
3、 一个主域控制器,将DataCenter服务器加入这个域,为每一个开发用户分配域帐号。这样所有小组成员可以通过登录到Window NT域来访问版本控制信息。
注意:Visual Studio 6所带的Visual Source Safe 6不支持.Net的一些文件格式。如果你安装了VSS 6,也需要再安装一次VSS 6C,否则在VS.Net环境中将源代码加入到VSS数据库中将会出现错误。
二、 创建空的 SourceSafe数据库

在开始工作之前,需要建立一个空的SourceSafe数据库,来存放源代码控制数据,并为小组开发人员分配访问帐号。在DataCenter服务器上新建Source Safe数据库。步骤如下:
1、 启动"开始"——"程序"——"Microsoft Visual SourceSafe"菜单下的SourceSafe 6.0 Admin。如果你是第一次安装VSS 6C,Common数据库的Admin帐号为空。如图一所示:


图一 VSS登录窗口
2、 在Visual SourceSafe Administrator窗口中,你可以看到Source Safe默认的两个用户Admin和Guest。如果你不打算使用默认的Common数据库,而要建立一个属于自己的项目数据库。选择菜单"Tools"——"Create Database",如图二所示:


图二 VSS管理窗口
3、 在弹出的对话框中选择新数据库存放的位置。这里我们选择:C:/SourceManager/。点击OK后,提示你已经创建了数据库。
4、 选择"Users"——"Open SourceSafe Database…",使用Browser按钮,选择刚才所创建的SourceManager数据库C:/SourceManager/srcsafe.ini。
5、 使用"Users"——"Change Password"命令更改Admin帐号的密码。使用"Users"——"Add User"命令为项目小组成员创建SourceSafe帐号。
6、 将C:/SourceManager目录设置为共享。共享权限默认是Everyone完全控制。如果希望只对项目小组成员开放,不希望其他人操作数据库文件(注意:没有SourceManager帐号的人不能访问SourceSafe中的内容,但如果他有权限的话,可以删除或修改数据库中的数据),请将Everyone组从权限组中删除,并从域目录中选择可以访问该目录的域帐号或计算机。
7、 到此,一个空的项目数据库建立完毕。
三、 新建项目并加入版本控制

下面将演示在一个装有VS.Net的计算机上创建一个Windows应用程序和一个Web项目,并把它加入到上面所建的SouceManager数据库中。
1、 启动VS.NET。
2、 使用"文件"——"新建"——"空白解决方案"命令,在D:/下新建解决方案SourceManager。VS.Net会在D:/下自动创建一个SourceManager目录,该目录中有一个解决方案文件SourceManager.sln文件。
3、 使用"文件"——"新建"——"项目"命令,在项目类型中选择"Visual C#项目",在"模板"中选择"Window应用程序"。项目名称MyWindowApp。并选择"添入解决方案"选项。确定。


图三 新建Windows应用程序项目窗口
4、 使用"文件"——"新建"——"项目"命令,在项目类型中选择"Visual C#项目",在"模板"中选择"ASP.NET Web应用程序"。在"位置"栏中填写http://localhost/MyWebApp。并选择"添入解决方案"选项。确定。


图四 新建Web应用程序窗口
这样就在解决方案中建立了一个Window应用程序和一个Web应用程序。下面讲述如何将整个解决方案加入到源代码版本控制。
5、 在WebFrom1和Form1的设计器中各自加入一个Label控件,保持它的属性不变。我们将看到从另一个主机上获取的程序用户界面中也会有这一个控件。
6、 使用"文件"——"源代码管理"——"将解决方案加到源代码管理"命令。


图五 源代码管理菜单
7、 在弹出的Visual SourceSafe Login登录窗口点击"Browser"按钮,弹出打开数据库对话框,点击该对话框的"Browser"按钮,弹出如下对话框,在"文件名"中输入//DataCenter/SourceManager/srcsafe.ini。确定后输入上面所分配的SourceSafe帐号和密码。


图六 打开VSS数据库对话框
8、 首先会弹出一个保存解决方案的提示窗口,让你选择将要保存到SourceSafe中的项目名称,默认与解决方案的名称相同。点击OK,会得到项目在数据库中不存在的提示,点击"Yes"创建该项目。


图七 在VSS中创建项目对话框
9、 接下来会让你选择Web应用程序的保存位置。如下图所示。由于Web应用程序通常保存在本地的IIS根目录下。与解决方案中的其它项目不在同一个目录中,所以需要为Web应用程序在SourceSafe中单独建立一个项目。在该窗口点击"OK"按钮接受SourceSafe的默认项目名称MyWebApp。


图八 在VSS中创建Web项目对话框
10、 到此,我们已经在SourceSafe中添加了整个解决方案,包括一个Windows应用程序和一个Web应用程序。在"解决方案资源管理器"视图中,加入源代码控制的程序旁边有一把锁(如图九所示),表示文档已签入,不可编辑。


图九 解决方案资源管理器
11、 通过菜单"文件"——"源代码管理"——"Microsoft Visual SourceSafe",打开SourceSafe,可以看到,在SourceSafe中已经加入了两个项目。如图十所示:


图十 VSS浏览器
四、 获取SourceSafe中的项目

下面的步骤中将讲述如何在另一台主机上从SourceSafe获取源代码。
1、 在另一台主机上打开Visual Studio.Net开发环境。使用菜单命令"文件"——"源代码管理"——"从源代码管理打开"。重复第三步中的第7个操作,选择SourceSafe数据库的位置。
2、 弹出"Create local poject from SourceSafe"窗口,在"Create a new project in the"输入框中填写你要保存项目的本地路径,这里我们选择"C:/MyProject"。在"SourceSafe project to"中选择SourceManager项目,单击OK按钮。如果目录C:/MyProject不存在,会询问是否创建,选择"Yes All"。


图十一 从SourceSafe获取项目对话框
3、 接下来会弹出保存Web应用程序工作副本的对话框,在工作副本位置输入框中输入你想要保存Web应用的Web文件夹,也可以接受默认设置。点击"确定"按钮接受默认设置。


图十二 从SourceSafe获取Web项目对话框
4、 通过上述步骤,我们已经成功地在另一个开发主机上获得保存在SourceSafe的工程。将来如果有新的开发人员加入,只需重复这四个步骤即可。
五、 版本控制的几个概念

在Visual Studio.Net开发环境"解决方案资源管理器"的上下文菜单或者"文件"——中有如下与文件操作有关的命令,如图十三所示:


1、 文件的"签出"(Check Out):当需要编辑一个文件时,必须将该文件"签出",SourceSafe会标志该文件已经被某个用户迁出,并确保其他用户不可编辑同一个文件。对于文件,仅当文件被签入后才有这个选项。
2、 文件的"签入"(Check In):当完成文件的编辑后,最好将文件"签入",以让其他用户可以签出或者获取最新版本。对于文件,仅当文件被签出后才有这个选项。
3、 "获取最新版本":从SourceSafe数据库中获取指定文件或项目的最新版本,而又不必签出文件。
4、 "取消签出":不在SourceSafe数据库中保存签出后所做的修改,使本地文件恢复到修改之前的状态,并且将文件签入。只有文件或项目中有文件被签出后才有这个选项。
5、 "历史记录":查看文件修改的历史记录。SourceSafe数据库会自动保存每次"签入"前后的文件内容。如果需要查看历史记录。
6、 "版本比较":可以比较当前版本与历史版本之间的差异,SourceSafe将以对照的形式将两个版本的不同之处显示出来。如图十四所示:


图十四 版本比较
7、 "Roll Back":在历史版本显示对话框中有一个Roll Back命令,即将文件恢复到历史版本。当文件编辑错误时,想让文件回到历史的某个点时,使用该命令。历史版本显示对话框中还有其它命令,这里不一一详述,请读者慢慢研究。
8、 Visual Studio.Net中关于版本控制的选项:在"工具"——"选项"命令对话框中,选择左边的"源代码管理",显示如下对话框。读者可以根据项目的情况对SourceSafe选项进行设置。


图十五 Visual Studio.Net中与版本控制相关的选项
9、 其它SourceSafe操作:读者可以从"文件"——"源代码管理"——"Microsoft Visual SourceSafe"菜单,进入"Visual SourceSafe Explorer",其中大多数主要命令基本与Visual Studio.Net相同,这里就不再累赘。
六、 版本控制项目的管理

下面将讲述版本控制相关的一些权限管理和文件映射。首先在DataCenter服务器上打开"开始"——"程序"——"Microsoft Visual SourceSafe"——"Visual Source Safe 6.0 Admin"。选择SourceManager数据库,填入Admin账号的密码。进入"SourceSafe Administrator"窗口。它有如下几个菜单。


1、 Users菜单下是关于用户操作的命令,除上面我们所使用的添加用户"Add User"、修改密码"Change Password"外,还有删除用户"Delete User"、编辑用户"Edit User"命令。"Open SourceSafe Database"命令用于更改当前SourceSafe数据库。
2、 Tools菜单下的Options对话框中包括了一些项目的设置。下面对主要的选项进行简单的说明:
(1) General页中的Allow multiple checkouts,如果选择此项,则允许多个用户同时签出文件。默认是不允许。
(2) Project Security页中的"Enable project security"复选框指明是否允许对项目使用安全性。该项默认为不允许。只有当选择了这个选项之后,Tools下的"Rights by Project"、"Right Assignments for User"和"Copy User Rights"才可用。这里我们将它选中。
(3) Shadow Folders页用于设置项目在服务器上的映射。项目在SourceSafe中以二进制码形式将文件的所有版本信息保存在文件中。要在服务器上创建一个目录,将项目文件映射到这个目录中,使用该命令。在"Set shadow folder for project"中选择在SourceSafe中的SourceManager项目,在"Set shadow folder to"中选择项目要映射到的目录,如C:/SourceManager_Shadow。
(4) Web Projects页用于设置Web项目在服务器上的映射。在This project represents a Web Site中选择SourceSafe中的MyWebApp项目,在URL中填入"http://localhost",即本地Web服务器(也可以填入其它服务器)。Virtual Tools中填入要映射的虚拟目录,在"Deployments path"填入部署目录,这个目录将成为IIS中指定虚拟目录的映射目录。
3、 Tools菜单下的"Rights by Project"管理SourceSafe中项目的权限,如图所示。用户权限共有四种,在Rights中分别对应为:R(Read)、C(Check Out/Check In)、A(Add/Rename/Delete)、D(Destroy)。在左边的";Project"框中选择一个项目,并在右边选择相应的用户,使用下面的复选框,给用户分配相应的权限。Tools菜单下的"Rights Assignments for User"用于给选定用户分配权限,操作结果与上面的命令相同。


图十九 VSS项目权限管理
4、 Archive菜单下的"Archive Projects"用于将指定项目打包成*.ssa(SourceSafe Archive)文件,并迁移到其他主机上,使用Archive的"Restore Projects"命令,将该文件恢复到其他主机。这两个命令用于项目的迁移。
总结

使用SourceSafe与VS.Net开发环境,可以为 团队开发提供完整的源代码管理方案。通过源代码管理,可以记录项目开发的过程,将文件恢复到项目过程中的某一个点,而又无需在开发环境中保存太多的旧文档备份。
本书共分四部分,此为第一部分<br>包括基础知识、源代码管理、生成、大型项目考虑事项<br>项目管理、过程指南、报告、设置和维护团队环境和<br>Visual Studio 2008 Team Foundation Server等九章节<br><br>Jeff Beehler 撰序<br>序言<br>发布 Microsoft® Visual Studio® 2005 Team Foundation Server (TFS) 之前,我们自己先进行了一次尝试—<br>—使用它来开发 TFS。在项目的最后 18 个月中,我们尽可能地应用它来管理项目的开发生命周期,这<br>也就是所谓的“Dogfooding”(内测)。通过这种内部先行试用,我们对自己创建的这一强大系统有了更<br>多的认识。我们确实发现并修复了很多质量问题,使最终产品更稳定、性能更高,如果不使用这种方法,<br>根本无法做到这一点。但更重要的是,我们更清楚了使用这种工具的最佳方式。这些经验与客户体验反<br>馈一起构成了这份指南的基础。<br>初看起来,读者可能认为这些信息应该属于产品文档的内容,甚至就可以取代产品文档。实际上,我<br>曾经也有过这种想法。然而,在与 J.D. Meier 和本指南的其他作者协作工作了一段时间后,我就清楚<br>地认识到,这两者的区分是很自然而且很重要的。我认为将这两份指南比作您的车主手册和驾驶员指<br>南再恰当不过了,两者都是必要的,但其目的又各有不同。按照惯例,产品团队只关注产品文档,而<br>将指导方面的工作留给其他人员。现在尽管我们依然要依靠其他人员来帮助解决问题,但已经开始在<br>指南部分投入更多的时间和精力,因为我们意识到产品的成功采用的重要性,以及它在提高整体客户满<br>意度方面的意义。<br>TFS 就如同汽车,是一种强大的工具,能够帮助您和您的团队更接近目标,这份指南则会帮助您实现<br>目标。每个团队根据其具体需求和历史情况的不同,都会以不同方式或多或少地接触 TFS。出于这方<br>面的考虑,我们撰写这份指南时采用了这样一种方式:即如果您希望了解全部内容,可以从头读到尾;<br>如果只需要部分指导,也可以细读具体的主题。<br>客户反馈是我们撰写这份指南的最初动力,今后也将一直引导我们的方向,并帮助我们实现目标。我们<br>深信,与闭门造车相比,像这样将社区纳入项目之中能够使内容更有用,最终使我们的指南更加成功。<br>按照这种思路,真正的用户将帮助我们决定要写哪些内容、要推荐哪些最佳实践,以及如何组织内容。<br>我们的收集整理工作尚未完成,请帮助我们继续改进这份指南,告诉我们您还希望本指南中涵盖哪些内<br>容。TFS 的覆盖面如此广泛,有时甚至连我们也觉得难以全面掌握。有了您的加入,我们就可以帮助客<br>户更好地利用我们所开发的工具。<br>TFS 的设计目的是使团队协力交付更好的软件。通过在内部先行试用 TFS,我们已经使自己的团队协同<br>工作,我希望您也会同意,这就是最好的成果。这份指南能够帮助您和您的团队在下一个项目中实现此<br>远景。<br>祝您一切顺利!<br>Jeff Beehler<br>主管,Visual Studio Team System 2007 年 7 月<br>Jeff Beehler 是 Team System 的主管。从科罗拉多大学毕业之后,他于 1990 年在 Microsoft 开始了自<br>己的职业生涯,最初致力于 Visual C++ 的早期版本。1996 年,他离开了 Microsoft,转向自己的其他<br>兴趣所在,包括咨询、在小学教学,还建立了自己的家庭。2003 年,他回到了 Microsoft,从事 Visual<br>Studio Team System 方面的工作,在这里,他参与了项目的多个方面,从规划、执行一直到发布。他积<br>极参与 Team System 各个部分的内部先行试用工作,这有助于进一步提高他的职业技能。在业余时间,<br>Jeff 喜欢与家人分享时光、摄影以及在西部地区参与户外运动。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值