VSS概述
Microsoft Visual SourceSafe是美国微软公司出品的版本控制系统,简称VSS。它提供了还原点和并行协作功能,从而使应用程序开发组织能够同时处理软件的多个版本。该版本控制系统引入了签入和签出模型,按照该模型,单个开发人员可以签出文件,进行修改,然后重新签入该文件。当文件被签出后,其他开发人员通常无法对该文件进行更改。通过源代码管理系统,开发人员还能够回滚或撤消任何随后产生问题的更改。
作为一种版本控制系统,Visual SourceSafe 能够:
• 防止用户无意中丢失文件。
• 允许回溯到以前版本的文件。
• 允许分支、共享、合并和管理文件版本。
• 跟踪整个项目的版本。
• 跟踪模块化代码(一个由多个项目重用或共享的文件)。
独立开发人员和小型开发团队已经发现,版本控制能够使他们保持内心的宁静并提高工作效率,从而使他们受益。Visual SourceSafe 是一种版本控制产品,主要致力于维护文件更改历史记录、审核跟踪日志以及对源代码文件进行灾难恢复。它在以下场合下最为有效:团队的规模较小,各个成员之间的地理距离比较近,通常在高度可靠的环境中通过高速、低延迟的局域网 (LAN) 工作,并且共享的开发资产不大可能超过 4 GB。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在同样的项目上工作,对于每一个项目她又有自己的工作文件夹。
当你为某个项目设置了工作文件夹,你可以用它来放置你该项目中包括子项目再内的所
VSS服务器端安装
Visual SourceSafe 管理员通常将 Visual SourceSafe 安装到网络服务器上,然后将您的名称添加到数据库用户列表中。只需运行安装程序,然后选择某个选项以安装 Visual SourceSafe。
1 有三个 Visual SourceSafe 安装选项:
1)数据库服务器
将数据库和所需的软件安装到网络服务器上(系统管理员使用该选项)。然后,各个用户使用 Netsetup 从网络服务器安装 Visual SourceSafe 客户程序。
2)自定义
允许您选择要安装的组件。
3)独立
安装创建和访问您的计算机上专用数据库所需的组件。另外,还可以连接到网络服务器上的现有数据库中。
2 指派用户权限
在可以访问数据库之前,必须指派相应的权限。另外,还可以将用户权限指派给其他要共享您的数据库中文件的小组成员。请 Visual SourceSafe 系统管理员添加、更改或删除数据库的用户权限和密码。
3 连接到 Visual SourceSafe 数据库
从 Visual SourceSafe 应用程序连接到 Visual SourceSafe 数据库,启动 Visual SourceSafe 应用程序。
从“文件”菜单中,单击“打开 SourceSafe 数据库”,然后在列表框中选择一个数据库。 可以使用此命令从其他人已经创建的 Visual SourceSafe 项目中选择一个现有的数据库。这样您就可以使用由他人建立的多开发人员项目了。
2 VSS的客户端安装
从网络安装VSS客户端
1)打开本地计算机的“网上邻居”属性对话框;
2)点击“配置”按纽;
3)将“MICROSOFT网络用户”的属性设置为:登录到WINDOWS NT 域,域名为PLANNING;
4)添加TCP/IP、NETBEUI、IPX/SPX协议;
5)重新启动计算机,登录“planning”域;
注:管理员为每位NT用户设置的登录密码为“111”,用户在第一次登录时,计算机会提示用户修改密码。
6)从“网上邻居”的“planning”域中查找服务器“VSSDATA”;
7)打开共享的“VSS”文件夹并双击“NETSETUP”;
8)按照安装程序的提示开始安装。
3 VSS的基本使用操作
3.1 登录VSS
点击VSS图标或从程序菜单中运行Visual SourceSafe 6.0,即可打开VSS浏览器。
如果用户登录的VSS密码和登录PLANNING域的密码是一致的,系统将不再提示输入进入VSS数据库的密码;如果用户为VSS设置的密码与登录PLANNING域的密码不同,系统将提示用户输入VSS的登录密码。关于如何修改VSS用户密码,详见“3.2.14修改用户密码”。
3.2 VSS浏览器
当你一打开VSS,如果你设定了密码的话,它会提示你输入密码。如果你没有设定密码,你可以直接看到浏览器。在浏览器上,你可以浏览你的数据库、查看项目列表、显示文件统计信息、执行命令对文件和项目进行操作等。浏览器的最上方的标题栏是你当前连接的数据库。VSS使用符号来提供有关文件和项目信息。
菜单栏的下面是常用工具栏,这里有许多常用命令的按纽,它可以帮你快速地执行对文件的操作。
在项目栏中,显示有项目列表,包括特殊项目的有关信息。文件栏显示了当前项目的所有文件的列表。结果栏显示当前你所执行的操作的结果。
3.3 VSS基本操作
3.3.1创建新的文件夹
1) 选中要创建新文件夹的项目(上级文件夹);
2) 在file菜单中选中creat project;
3) 写入要添加的文件夹的名称,同时也可以在comment栏中为新建的文件夹添加备注;
4) 点击OK。
3.3.2添加文件夹
1) 选中你要添加文件夹的项目(上级文件夹);
2) 在file菜单中选中add files;
3)在文件夹列表中选中要添加的文件夹;
4)点击add,同时可以在comment栏为你添加的文件夹做一个简单备注;
5)如果你要连同子文件夹一起添加,选择Recursive;
5) 点击OK,成功添加了一个带有备注的文件夹。或者点击close,退出操作,返回add files对话框,点击close。
3.3.3添加文件
3.3.2.1使用add命令添加文件
1)选中你要添加文件的文件夹;
2) 在fil菜单中选中add files;
3) 在文件列表中选中要添加的文件;如果要添加多个文件,可以使用CTRL键或SHIFT键,同时选中多个文件;
4)点击add,同时可以在comment栏为你添加的文件夹做一个简单备注;
5)点击OK。
3.3.2.2用拖动的方法添加文件/文件夹
1)打开VSS浏览器,调整其大小,使得Windows资源管理器能够显示出来;
2)打开Windows资源管理器,调整大小,使得两个浏览器可以同时显示;
3)从Windows资源管理器中选择你要添加的文件或文件夹;
4) 拖动你所选的文件或文件夹,放入VSS浏览器,文件被添加进项目,而添加的文件夹将作为项目的子项目。
3.3.3查看文件
1) 在文件列表中选中要查看的文件;
2) 在EDIT菜单中选中view,打开对话框;
3)选中view SourceSafe’s copy of this file;
4)点击OK。
3.3.4创建工作文件夹
在执行签入(check in)、签出(check out)、撤消签出(undo check out)、取出最新版本(get latest version)和文件合并(merge branches)等命令时都必须使用工作文件夹。工作文件夹可以随时设定或修改,VSS系统中可以通过两种方式设置工作文件夹。
3.3.4.1专门创建工作文件夹
1) 在VSS浏览器的文件或项目列表中选中要设置工作文件夹的文件/文件夹;
2) 在file菜单中选择set working folder,打开对话框;
3) 在资源管理列表中选择或新建文件夹;
4) 点击OK。
3.3.4.2利用check out操作设置工作文件夹
在对文件执行check out操作时,如果该文件还没有设置工作文件夹,系统会提示用户为文件创建或指定工作文件夹,用户可以根据系统的提示对文件进行工作文件夹的设置。
3.3.5修改和编辑文件
1) 在edit菜单中选中edit file,打开对话框;
2) 选择check out this file and edit it in your working folder;
3) 点击OK。
注:如果用户已经为文件设置了工作文件夹,VSS会将该文件的一个COPY放入你的工作文件夹并打开文件,让用户进行修改和编辑;如果用户还没有为文件设置工作文件夹,VSS系统会提醒用户设置工作文件夹,用户可根据系统提示,先设置工作文件夹,才可以对文件进行编辑。
3.3.6移动文件/文件夹
3.3.6.1移动文件
你只有一种方法移动文件:将文件共享(share)到项目中,再将其从原来的项目中delete或是destroy。移动文件后,历史信息仍然有效。但是你不能用move命令来移动单个的文件。
3.3.6.2移动文件夹(project)
注:要使用移动(move)命令,必须先请管理员为你设置对移动目的项目的添加(add)权限和对源项目中文件的破坏(destroy)权限。
使用移动命令你可以重新定位子文件夹,将其从一个文件夹移动到另一个文件夹中。这个命令重新定义了被移动文件夹的路径。
这个命令不可以重命名文件;你只能通过执行重命名命令来实现它。这个移动命令不会改变文件夹的内容或其中子文件夹的历史信息,它只会影响到新的和旧的上级文件夹的历史信息。
警告:当你移动一个文件夹之后,就不能再如实地重建其上级文件夹的早期版本。
移动文件夹的具体操作步骤如下:
1) 选中要移动的文件夹;
2) 在file菜单中选中move,打开对话框;
3) 在列表中选择目标文件夹;
4) 点击OK。
3.3.7共享文件/文件夹(share)
1) 在VSS浏览器中选择你要共享的目标项目。
2) 在SourceSafe菜单中选择share,打开共享对话框。
3) 在file to share列表中选择你要共享的文件,如果文件没有显示,可以旁边的项目列表中查找。
4) 点击share。
5) 点击close。
3.3.8拆分文件(branch)
3.3.8.1拆分被共享的文件
1) 在浏览器中选中你想要拆分的文件;
2) 在SourceSafe菜单中选择branch,打开拆分对话框;
3) 在comment中填写备注;
4) 点击OK。
3.3.8.2用一步操作完成文件的拆分与共享
1) 在VSS浏览器中选择你要branch/share的项目;
2) 在SourceSafe菜单中打开share对话框;
3) 在file to share列表中选择要共享的文件,如果你要的文件没有显示,在项目列表中
3.3.9删除/恢复文件或文件夹
如果想从VSS中移走某个文件,你必须首先确定是仅仅从项目中移走,还是从VSS数据库中移走。你还必须确定是要删除文件,但使其能够恢复,还是永久性地破坏它。
VSS中有以下三种途径可以实现从数据库中移走文件。
3.3.3.9.1删除(delete)
将文件从项目中移走。该文件仍然存在于你的VSS数据库和其它共享该文件的项目中,你可以恢复它。此命令同样适用于项目。
1) 选择文件或项目;
2) 选择file菜单中的delete命令;
3) 点击OK。
3.3.3.9.2破坏(destroy)
删除(delete)对话框中有永久性破坏(the Destroy Permanently)选项,你一旦选中它,文件或项目将从VSS数据库中被移走,你不能再恢复它。此外,当Destroy 和Destroy Permanently命令用于共享文件时,它只作用于当前文件夹,其它共享的文件夹仍然保留该文件,该文件依然保存在VSS数据库中。
1) 选择文件或项目;
2) 选择file菜单中的delete命令;
3) 选中 Destroy Permanently 选项;
4) 点击OK。
3.3.3.9.3清除(Purge)
这个命令将永久性地移走你已经删除的文件或项目,但没有破坏它。你可以使用这一命令清空你的文件或项目中的所有内容,但不能恢复它们。
1) 在VSS浏览器中选中项目;
2) 打开file菜单的properties对话框,按delete按纽;
3) 在列表中选择要清除的文件名;
4) 点击purge;
5) 如果要继续,在VSS给你的提示栏中点击yes。
3.3.10查看文件/文件夹的历史信息或早期版本
在历史信息中保存有每一个文件的详细信息。在history对话框中,你不仅可以浏览到文件的版本信息、备注、以及文件的相关历史记录,也能够获取文件的某个旧版本。
注:只有文件(file)可以从历史信息中check out,文件夹(project)不能从中check out。
你还可以从历史信息对话框中执行get、check out、diff、pin、unpin、roll back和reprot等操作。
要查看历史信息:
1) 在tool菜单选中show history,打开history options对话框;
2) 点击OK。
3.3.11获取文件的最新版本
1) 选择你要操作的文件,也可以是多个文件或某个项目;
2) 在SourceSafe菜单中选择get latest version;
3) 如果你事先没有设定工作文件夹,VSS会提示你是否设定一个工作文件夹,点击OK,设定一个工作文件夹;
4) 如果你已经确定了选项,VSS就会显示get latest version对话框,你就可以从当前的项目中获取文件的最新版本的备份,它放在你的工作文件夹中。
3.3.12获取文件的早期版本
1) 选中你要查看的文件;
2) 在tool菜单中选中show history,打开history option对话框;
3) 点击OK,打开history对话框;
4) 选中你要看的版本;
5) 点击get,打开get对话框;
6) 如果你事先没有设定工作文件夹,VSS会提示你是否设定一个工作文件夹,点击OK,设定一个工作文件夹;
7) 在取出对话框中点击OK,文件版本的备份就会从当前项目调入你的工作文件夹。
3.3.13修改用户密码
使用更改密码命令来设置或更改你的密码。要更改密码,必须首先知道当前的密码,如果你忘记了自己的密码,请与管理员联系。
登录的时候,VSS会提示你输入密码以确认你的身份。如果管理员为你设置的用户名与你的网络名是相同的,VSS将不会再提示你输入密码。
注:你的VSS的密码可以与你使用的操作系统的密码相同,也可以不同,它并不会替换你操作系统的密码。
如何更改密码:
1) 从tool菜单打开change password对话框;
2) 在旧密码框里键入你当前的密码;
3) 在新密码框里键入你的新密码;
注:密码可以设1到15个字符,它以*的形式显示;
4) 在确认框里再次键入新密码;
5) 点OK。
3.3.15打开/关闭数据库
如果你使用了VSS,你的文件和项目就会被存储在一个数据库中。它安全地保存你的信息并为你提供重要的历史信息和版本跟踪。要创建新的数据库,要与VSS管理员联系。
3.3.15.1打开现有的数据库
要运行你的VSS,你必须与存储你的文件的数据库连接。这一步通常由VSS自动完成,除非你要选择其他的数据库。如果数据库还没有安装,请与管理员联系。
1) 从file菜单,选择open SourceSafe database,打开对话框;
2) 从数据库列表中选择一个数据库;
3) 点击open,打开数据库。
3.3.15.2关闭数据库
你只能在一个数据库中进行工作。因此,如果要关闭一个数据库,只需打开另一个数据库即可。
通用术语
基本版本
一个文件的服务器版本,本地版本是从它派生出来的。
绑定
将解决方案或者项目在磁盘上的工作文件夹关联到其数据库中的文件夹的信息。
分支
在源代码管理下创建一个新版本、分支、共享文件或者项目的过程。一旦分支被创建,源代码管理下的两个版本在此前有共享的历史记录,此后则有各自的历史记录。
冲突
在两个或者多个开发人员签出并编辑同一个文件的情况下对同一行代码的两个或者多个不同的更改。
连接
在源代码管理客户端(例如,Visual Studio)和源代码管理数据库服务器之间的实时数据连接。
数据库
所有主控副本、历史记录、项目结构和用户信息存储的位置。一个项目总是包含在一个数据库中。多个项目可以存储在一个数据库中,也可以使用多个数据库。数据库其他常用的表述有存储库和存储。
历史记录
一个文件从其初始被添加到源代码管理以来所做的更改的记录。使用版本控制,您可以返回到文件历史的任何点并恢复存在于那个点的文件。
标签
附加到受源代码管理项的一个指定版本的用户定义的名称。
本地副本
在用户工作文件夹中的文件,在签入之前更改保存在该文件其中。本地副本有时称为工作副本。
主控副本
受源代码管理的文件的最近签入的版本,相对于在您的工作文件夹中的本地副本。主控副本的其他表述有服务器版本和数据库版本。
合并
合并一个文件的两个或者多个更改版本的差异的过程。合并可能影响同一个文件的不同版本或者对于同一个文件版本所做的不同更改。