VSS2005 日常使用说明(一)
1 VSS 概述
版本控制是工作组软件开发中的重要方面,它能防止意外的文件丢失、允许反追踪到早期版本、并能对版本进行分支、合并和管理。在软件开发和您需要比较两种版本的文件或找回早期版本的文件时,源代码的控制是非常有用的。
Visual SourceSafe 是一种源代码控制系统,它提供了完善的版本和配置管理功能,以及安全保护和跟踪检查功能。VSS 通过将有关项目文档(包括文本文件、图象文件、二进制文件、声音文件、视屏文件)存入数据库进行项目研发管理工作。用户可以根据需要随时快速有效地共享文件。文件一旦被添加进VSS ,它的每次改动都会被记录下来,用户可以恢复文件的早期版本,项目组的其他成员也可以看到有关文档的最新版本,并对它们进行修改,VSS 也同样会将新的改动记录下来。你还会发现,用VSS 来组织管理项目, 使得项目组间的沟通与合作更简易而且直观。
VSS 可以同 Visual Basic 、Visual C++ 、Visual J++ 、Visual InterDev 、Visual FoxPro 开发环境以及 Microsoft Office 应用程序集成在一起,提供了方便易用、面向项目的版本控制功能。Visual SourceSafe 可以处理由各种开发语言、创作工具或应用程序所创建的任何文件类型。在提倡文件再使用的今天,用户可以同时在文件和项目级进行工作。Visual SourceSafe 面向项目的特性能更有效地管理工作组应用程序开发工作中的日常任务。
1 .1 VSS 中的文件
当你要修改某个文档时,需要先从数据库中将它签出(check out ),或者告诉VSS 你要编辑该文档。VSS 会将该文档的副本从数据库中拿到你的工作文件夹(working folder) 中,你就可以修改你的文档了。如果其他用户再想对同一文档进行修改,VSS 会产生一个信息,告诉他,该文档已被签出(check out ),从而避免多人同时修改文档,以保证文档的安全性。
当你完成修改之后,需要将文档 签入(check in )VSS 。这个操作从你的工作文件夹(working folder) 中复制被你修改的文档,并将它放回VSS 数据库,以便其他用户能够及时看到文档的改动。VSS 能够保存文档的所有改动,并显示最新版本,同时早期版本也会被跟踪记录下来。VSS 对反增量技术的运用,仅需要用很少的磁盘空间就能使得用户获取文档的所有版本。
如果你没有修改文档,你可以执行撤消签出(undo check out) 命令,文档将被保存为被签出(check out )之前的状态。
如果你只需读取某一文档而并不需要编辑它,你可以执行取出(get) 命令,将文档放入你的工作文件夹,再选择查看文档(view) ,来查看你的文档的最新版本。
1 .2 VSS 中的项目
项目(project) 是指用户存储在VSS 数据库中的所有文件(file) 的集合。用户可以在项目之间或项目内部实现文件的添加(add) 、删除(delete) 、编辑(edit) 、共享(share) 。一个“项目(project) ”在很大程度上类似于一个普通系统的的文件夹,不同的是它能更好地支持文件合并(merge) 、跟踪(archive) 和版本控制(version control) 功能。
文件保存在VSS 数据库中的项目(project) 里。你无须管理存储在VSS 中的文件正本,除非你要检查或与其它拷贝进行比较。
VSS 为每一位用户提供了一份备份文件放入工作文件夹(working folder), 供用户对文件进行查看与编辑。尽管没有工作文件夹也可以查看文件,但要想真正实现对文档的处理,必须建立工作文件夹。
1 .3 VSS 的版本控制功能
VSS 能够保存文件的多个版本,包括文件版本之间每一处微小的变动。版本控制有以下几方面的内容:
l 组内合作——在缺省的情况下,一般一个文件在某一时间只允许一个用户对其进行修改,这样可以防止文件意外地被其他用户改动或者覆盖。但管理员可以改动这种缺省的设置,允许文件多层签出。这种设置也能防止过多的、不必要的改动。
l 版本追踪——VSS 能够对源代码和其他文件进行存储和早期版本的追踪,从而实现重建文件早期版本等有关功能。
l 跨平台开发——在多平台开发的情况下,版本追踪用于维护核心代码。
l 代码的再使用—— 追踪程序基准使得代码可重用。
1 .4 文件的拆分和共享
在VSS 中可以实现一个文件被多个项目共享(share) 。在一个项目中对文件的改动可以自动反映到其他共享的项目中去。这正提倡了代码重用。在file 菜单中的properties 中,点击link ,可以查看某一文件的共享情况。
拆分(branch) 是将文件从原来共享的项目中分离出来的过程。它使得VSS 可以实现从不同的路径追踪文件。
注:在其他版本控制系统中,分支是通过跟踪版本号来实现的。例如:版本“2.3.9 .2 ”是版本2.3 的第二个修订版本的第九个分支。而VSS 通过明显不同的项目名称实现对文件分支的跟踪。
拆分文件就断开了共享连接,使得本项目中的文件与其他原来共享的项目无关。对此文件的修改将不会再反映到其他项目上。拆分是这样被建立的:两个文件以前有着共同的历史记录,从实现拆分开始,他们的历史记录将被VSS 分别追踪。
拆分文件之后,link 按纽将不再显示已断开的连接,但你可以用path (file 菜单中的properties 项)按纽浏览拆分的历史记录。
共享(share )文件就是在多个项目间建立文件的连接。拆分(branch) 文件就是在项目之间建立了不同的文件路径。
1 .5 工作文件夹(working folder)
VSS 是存储和管理文件的工具,但是编辑和编译文件必须在VSS 指定文件夹中进行。这个文件夹叫工作文件夹,它可以是现存的文件夹,也可以是VSS 新建的文件夹。VSS 浏览器在文件列表上方显示了文件的工作文件夹的路径。
在VSS 系统中,工作文件夹才是你真正用于处理文档的地方。当你要编辑或修改某个文档时,必须对文档实施check out 操作(详见3.3.5 修改和编辑文件),VSS 将该文档从项目中拷贝出来,放入你的工作文件夹。当你修改完毕并check in 文件之后,VSS 又将文件重新拷贝到数据库中以记录你的修改。
一旦你将文件签出,VSS 就开始在你的本地机上创建并管理你的工作文件夹。
每一个用户、每一个项目或每一台微机都可以有自己的工作文件夹。如果Joe 在项目$/SpreadSheet 和$/WordProcessor 上工作,他就有相应的2 个不同的工作文件夹。如果Hanna 在同样的项目上工作,对于每一个项目她又有自己的工作文件夹。
软件环境要求:服务器端Vss2005 客户端Vss2005+Vs2005
文档适用范围:仅适用于局域网内的协作开发
<一>服务器端设置
(1)在服务器,新建一个目录VssData来存放将要建立的项目数据库
(2)单击“开始”按钮,指向“程序”,指向“Microsoft Visual SourceSafe”,然后单击“Visual SourceSafe 6.0 Admin”。 在“Visual SourceSafe Administrator”对话框的“Tools”菜单中,单击“Create Database”。 在“Create new VSS Database in”框中,找到上面建立的“VssData”目录
(3)添加用户,就是开发团队的人员都给分配一个账号,以后要打开这个数据库要进行身份认证的。
〈二〉 把web项目添加进源代码管理
某项目开始前, 需要有工作小组内某一位成员使用其当地IDE开发环境建立project.创建应用程序的物理目录结构.在这一过程中, 将项目的各个目录甚至工作文件的命名确定是推荐的步骤.简言之,在将项目加入到SourceSafe的数据库的时候,最好能有一套应用程序的基本框架.
以下项目是前期准备需要考虑或者实施的:
1. 项目物理目录
2. 项目Reference.包括Bin目录,App_code等
3. 基本页框架.包含Aspx,Ascx等
4. 所需的基本静态资源.(包含图像文件,脚本,统一的样式表,XML,文档等)
5. 配置文件
说明:为了减轻Vss数据库的负担,第4步中的图象文件等可以在Vss外按需求配置到工作机;由本地的配置不同,第5步也可以在Vss外由工作组成员个性化配置。
完成上面的工作后,在解决方案资源管理器中,右键单击解决方案节点,然后单击“将解决方案添加到源代码管理”(如无此命令,请参照第三步选择源代码管理插件的设置)或者“文件”->“源代码管理”->“将解决方案添加到源代码管理”。按照源代码管理提供程序的要求提供数据库位置,和用户登录信息,把这个web项目添加到上面建的那个数据库中。
一旦web项目进入了vss的数据库,项目所有的信息都进入数据库,以后所有团队成员要打开这个项目都是在这个数据库中(主控副本)取得工作副本,然后在自己的本地副本上工作,工作副本跟主控副本通过签入签出进行交互。
〈三〉、工作组成员设置VsiualStudio2005
[工具-选项-源代码管理],选择源代码管理插件Microsoft Visual SourceSafe[局域网中应用不用选择Internet],在“环境”中选中"打开solution时获取最新的源代码","关闭solution 时嵌入所有代码。[视图-工具栏-源代码管理]调出源代码管理工具栏。
〈四〉、工作组成员同步源代码
在VS2005的“文件”菜单上,单击“源代码管理”,“从源代码管理打开”,将提示你输入相应的源代码管理数据库,我们要找到在服务器上建立的那个VssData数据库,打开数据库,按提示录入登录用户名、口令。选择根节点下的相应 Project,然后Get last Version,取得本地的工作副本。存放本地工作副本的目录如果含有以前的项目源代码,应清空该工作目录。
[备注:本步骤目地也可以有其它的途径达到,笔者未一一测试,使用者可以自行研究]
〈五〉、工作守则
以下列出了各成员必须遵守的规范和规则:
1.工作开始初次打开project时必须向服务器请求最新代码.
2. 当向project添加新项或编辑任何程序代码后,应立即check in project.以便其他成员可操作该project.
3.不允许check out整个目录. 不允许长时间check out project或solution.并且除非特别必要.不应同时check out过多的项.
4.某工作步骤完成后,应Build整个project以检验当前工作.严禁不经过build而check in可能不通过的代码.