VSS的使用方法
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能够保存文件的多个版本,包括文件版本之间每一处微小的变动。版本控制有以下几方面的内容: 1. 组内合作——在缺省的情况下,一般一个文件在某一时间只允许一个用户对其进行修改,这样可以防止文件意外地被其他用户改动或者覆盖。但管理员可以改动这种缺省的设置,允许文件多层签出。这种设置也能防止过多的、不必要的改动。 2. 版本追踪——VSS能够对源代码和其他文件进行存储和早期版本的追踪,从而实现重建文件早期版本等有关功能。 3. 跨平台开发——在多平台开发的情况下,版本追踪用于维护核心代码。 4. 代码的再使用—— 追踪程序基准使得代码可重用。 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在同样的项目上工作,对于每一个项目她又有自己的工作文件夹。 2. VSS的客户端安装 2.1. VSS工作环境描述 Vss版本:Vss6.0 D(英文版) 配合:Vs2003 2.2. 安装Vss服务器 在服务器上安装vss6.0d,安装好后,在服务器目录C:/Program Files/Microsoft Visual Studio/Common/VSS下有个NETSETUP.EXE文件,共享这个目录,客户机就执行这个NETSETUP.EXE文件进行安装。 2.2.1. 创建源代码管理数据库 在服务端要先创建一个源代码管理数据库,以存储您的开发团队的共享文件的服务器版本。为源代码管理数据库创建共享网络文件夹 1. 在源代码管理服务器中,打开 Windows 资源管理器,新建一个名为 test的文件夹。 2. 右击“test”,然后单击“属性”。 3. 在“test 属性”对话框中,单击“共享”选项卡,然后单击“共享该文件夹”。现在可以在共享的 test 中创建源代码管理数据库了。 2.2.2. 创建源代码管理数据库 1. 在服务器,单击“开始”按钮,指向“程序”,指向“Microsoft Visual SourceSafe”,然后单击“Visual SourceSafe 6.0 Admin”。 2. 在“Visual SourceSafe Administrator”对话框的“Tools”菜单中,单击“Create Database”。 3. 在“Create new VSS Database in”框中,找到上面建立的“test”目录 4. Visual Studio .NET 的源代码管理数据库已设置成功。 然后添加用户,就是开发团队的人员都给分配一个账号,以后要打开这个数据库要进行身份认证的。 3.1. 从网络安装VSS客户端 1. 找到Vss服务器的Vss对应目录的文件NETSETUP.EXE 2. 安装此文件 3. VSS的基本使用操作 3.2. 登录VSS 点击VSS图标或从程序菜单中运行Visual SourceSafe 6.0,即可打开VSS浏览器。 如果用户登录的VSS密码和登录PLANNING域的密码是一致的,系统将不再提示输入进入VSS数据库的密码;如果用户为VSS设置的密码与登录PLANNING域的密码不同,系统将提示用户输入VSS的登录密码。关于如何修改VSS用户密码,详见“3.2.14修改用户密码”。 3.3. VSS浏览器 当你一打开VSS,如果你设定了密码的话,它会提示你输入密码。如果你没有设定密码,你可以直接看到浏览器。在浏览器上,你可以浏览你的数据库、查看项目列表、显示文件统计信息、执行命令对文件和项目进行操作等。浏览器的最上方的标题栏是你当前连接的数据库。VSS使用符号来提供有关文件和项目信息。 菜单栏的下面是常用工具栏,这里有许多常用命令的按纽,它可以帮你快速地执行对文件的操作。 在项目栏中,显示有项目列表,包括特殊项目的有关信息。文件栏显示了当前项目的所有文件的列表。结果栏显示当前你所执行的操作的结果。 3.4. VSS基本操作 3.4.1. 创建新的文件夹 1. 选中要创建新文件夹的项目(上级文件夹); 2. 在file菜单中选中creat project; 3. 写入要添加的文件夹的名称,同时也可以在comment栏中为新建的文件夹添加备注; 4. 点击OK。 3.4.2. 添加文件夹 1. 选中你要添加文件夹的项目(上级文件夹); 2. 在file菜单中选中add files; 3. 在文件夹列表中选中要添加的文件夹; 4. 点击add,同时可以在comment栏为你添加的文件夹做一个简单备注; 5. 如果你要连同子文件夹一起添加,选择Recursive; 6. 点击OK,成功添加了一个带有备注的文件夹。或者点击close,退出操作,返回add files对话框,点击close。 3.4.3. 添加文件 3.4.3.1. 使用add命令添加文件 1. 选中你要添加文件的文件夹; 2. 在fil菜单中选中add files; 3. 在文件列表中选中要添加的文件;如果要添加多个文件,可以使用CTRL键或SHIFT键,同时选中多个文件; 4. 点击add,同时可以在comment栏为你添加的文件夹做一个简单备注; 5. 点击OK。 3.4.3.2. 用拖动的方法添加文件/文件夹 1. 打开VSS浏览器,调整其大小,使得Windows资源管理器能够显示出来; 2. 打开Windows资源管理器,调整大小,使得两个浏览器可以同时显示; 3. 从Windows资源管理器中选择你要添加的文件或文件夹; 4. 拖动你所选的文件或文件夹,放入VSS浏览器,文件被添加进项目,而添加的文件夹将作为项目的子项目。 3.4.4. 查看文件 1. 在文件列表中选中要查看的文件; 2. 在EDIT菜单中选中view,打开对话框; 3. 选中view SourceSafe’s copy of this file; 4. 点击OK。 3.4.5. 创建工作文件夹 在执行签入(check in)、签出(check out)、撤消签出(undo check out)、取出最新版本(get latest version)和文件合并(merge branches)等命令时都必须使用工作文件夹。工作文件夹可以随时设定或修改,VSS系统中可以通过两种方式设置工作文件夹。 3.4.5.1. 专门创建工作文件夹 1. 在VSS浏览器的文件或项目列表中选中要设置工作文件夹的文件/文件夹; 2. 在file菜单中选择set working folder,打开对话框; 3. 在资源管理列表中选择或新建文件夹; 4. 点击OK。 3.4.5.2. 利用check out操作设置工作文件夹 在对文件执行check out操作时,如果该文件还没有设置工作文件夹,系统会提示用户为文件创建或指定工作文件夹,用户可以根据系统的提示对文件进行工作文件夹的设置。 3.4.6. 修改和编辑文件 1. 在edit菜单中选中edit file,打开对话框; 2. 选择check out this file and edit it in your working folder; 3. 点击OK。 注:如果用户已经为文件设置了工作文件夹,VSS会将该文件的一个COPY放入你的工作文件夹并打开文件,让用户进行修改和编辑;如果用户还没有为文件设置工作文件夹,VSS系统会提醒用户设置工作文件夹,用户可根据系统提示,先设置工作文件夹,才可以对文件进行编辑。 3.4.7. 移动文件/文件夹 3.4.7.1. 移动文件 你只有一种方法移动文件:将文件共享(share)到项目中,再将其从原来的项目中delete或是destroy。移动文件后,历史信息仍然有效。但是你不能用move命令来移动单个的文件。 3.4.7.2. 移动文件夹(project) 注:要使用移动(move)命令,必须先请管理员为你设置对移动目的项目的添加(add)权限和对源项目中文件的破坏(destroy)权限。 使用移动命令你可以重新定位子文件夹,将其从一个文件夹移动到另一个文件夹中。这个命令重新定义了被移动文件夹的路径。 这个命令不可以重命名文件;你只能通过执行重命名命令来实现它。这个移动命令不会改变文件夹的内容或其中子文件夹的历史信息,它只会影响到新的和旧的上级文件夹的历史信息。 警告:当你移动一个文件夹之后,就不能再如实地重建其上级文件夹的早期版本。 移动文件夹的具体操作步骤如下: 1. 选中要移动的文件夹; 2. 在file菜单中选中move,打开对话框; 3. 在列表中选择目标文件夹; 4. 点击OK。 3.4.8. 共享文件/文件夹(share) 1. 在VSS浏览器中选择你要共享的目标项目。 2. 在SourceSafe菜单中选择share,打开共享对话框。 3. 在file to share列表中选择你要共享的文件,如果文件没有显示,可以旁边的项目列表中查找。 4. 点击share。 5. 点击close。 3.4.9. 拆分文件(branch) 3.4.9.1. 拆分被共享的文件 1. 在浏览器中选中你想要拆分的文件; 2. 在SourceSafe菜单中选择branch,打开拆分对话框; 3. 在comment中填写备注; 4. 点击OK。 3.4.9.2. 用一步操作完成文件的拆分与共享 1. 在VSS浏览器中选择你要branch/share的项目; 2. 在SourceSafe菜单中打开share对话框; 3. 在file to share列表中选择要共享的文件,如果你要的文件没有显示,在项目列表中 3.4.10. 删除/恢复文件或文件夹 如果想从VSS中移走某个文件,你必须首先确定是仅仅从项目中移走,还是从VSS数据库中移走。你还必须确定是要删除文件,但使其能够恢复,还是永久性地破坏它。 VSS中有以下三种途径可以实现从数据库中移走文件。 3.4.10.1. 删除(delete) 将文件从项目中移走。该文件仍然存在于你的VSS数据库和其它共享该文件的项目中,你可以恢复它。此命令同样适用于项目。 1. 选择文件或项目; 2. 选择file菜单中的delete命令; 3. 点击OK。 3.4.10.2. 破坏(destroy) 删除(delete)对话框中有永久性破坏(the Destroy Permanently)选项,你一旦选中它,文件或项目将从VSS数据库中被移走,你不能再恢复它。此外,当Destroy 和Destroy Permanently命令用于共享文件时,它只作用于当前文件夹,其它共享的文件夹仍然保留该文件,该文件依然保存在VSS数据库中。 1. 选择文件或项目; 2. 选择file菜单中的delete命令; 3. 选中 Destroy Permanently 选项; 4. 点击OK。 3.4.10.3. 清除(Purge) 这个命令将永久性地移走你已经删除的文件或项目,但没有破坏它。你可以使用这一命令清空你的文件或项目中的所有内容,但不能恢复它们。 1. 在VSS浏览器中选中项目; 2. 打开file菜单的properties对话框,按delete按纽; 3. 在列表中选择要清除的文件名; 4. 点击purge; 5. 如果要继续,在VSS给你的提示栏中点击yes。 3.4.11. 查看文件/文件夹的历史信息或早期版本 在历史信息中保存有每一个文件的详细信息。在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.4.12. 获取文件的最新版本 选择你要操作的文件,也可以是多个文件或某个项目; 1. 在SourceSafe菜单中选择get latest version; 2. 如果你事先没有设定工作文件夹,VSS会提示你是否设定一个工作文件夹,点击OK,设定一个工作文件夹; 3. 如果你已经确定了选项,VSS就会显示get latest version对话框,你就可以从当前的项目中获取文件的最新版本的备份,它放在你的工作文件夹中。 3.4.13. 获取文件的早期版本 选中你要查看的文件; 1. 在tool菜单中选中show history,打开history option对话框; 2. 点击OK,打开history对话框; 3. 选中你要看的版本; 4. 点击get,打开get对话框; 5. 如果你事先没有设定工作文件夹,VSS会提示你是否设定一个工作文件夹,点击OK,设定一个工作文件夹; 6. 在取出对话框中点击OK,文件版本的备份就会从当前项目调入你的工作文件夹。 3.4.14. 修改用户密码 使用更改密码命令来设置或更改你的密码。要更改密码,必须首先知道当前的密码,如果你忘记了自己的密码,请与管理员联系。 登录的时候,VSS会提示你输入密码以确认你的身份。如果管理员为你设置的用户名与你的网络名是相同的,VSS将不会再提示你输入密码。 注:你的VSS的密码可以与你使用的操作系统的密码相同,也可以不同,它并不会替换你操作系统的密码。 如何更改密码: 1. 从tool菜单打开change password对话框; 2. 在旧密码框里键入你当前的密码; 3. 在新密码框里键入你的新密码; 注:密码可以设1到15个字符,它以*的形式显示; 1. 在确认框里再次键入新密码; 2. 点OK。 3.4.15. 打开/关闭数据库 如果你使用了VSS,你的文件和项目就会被存储在一个数据库中。它安全地保存你的信息并为你提供重要的历史信息和版本跟踪。要创建新的数据库,要与VSS管理员联系。 3.4.16. 打开现有的数据库 要运行你的VSS,你必须与存储你的文件的数据库连接。这一步通常由VSS自动完成,除非你要选择其他的数据库。如果数据库还没有安装,请与管理员联系。 1. 从file菜单,选择open SourceSafe database,打开对话框; 2. 从数据库列表中选择一个数据库; 3. 点击open,打开数据库。 3.4.17. 关闭数据库 你只能在一个数据库中进行工作。因此,如果要关闭一个数据库,只需打开另一个数据库即可。 3.5. Vss和Vs2003结合 3.5.1. Vss服务段配制 第一步:打开Visual SourceSafe 6.0 Admin【开始 -- Microsoft Visual SourceSafe -- Visual SourceSafe 6.0 Admin】如图(一) 图(一) 第二步:在Visual SourceSafe 6.0 Admin对话框中新建数据库【Tools - Create DataBase 】(图二)(例如放在D盘上的文件夹Aheademipss中) (图二) 第三步:在Visual SourceSafe 6.0 Admin对话框中新建用户(Users - Add User)(图三)(例如新建用户名为:xubinhui密码为:xubinhui的用户) (图三) 第四步:把数据填充到Vss库中(打开要用到Vss的项目如AheadeMipss)(图片四)右键解决方案 - 将解决方案添加到源代码管理(A)… (图四) 第五步:在弹出的Visual SourceSafe Login中选择用户密码和对应Vss数据库(如图五),Ok进入对话框Add To SourceSafe Project(如图六) (图五) (图六) 第六步:eMIPSS.Root改为AheadeMipss在Create以建立目录AheadeMipss存放解决方案,在选中此目录在Project栏输入AheadeMipss以存储“Web 项目文件的主控副本”(如图七) (图七) 第七步:完成了。(如图八)文件前面有把锁! (图八) 3.5.2. Vss客户端设置 注意:这里只涉及到(Vs2003的Vss操作,如果用Microsoft Visual SourceSafe 6.0操作文件请看上面的内容),并假设客户端已经按上面的“从网络安装Vss客户端”安装好了。 第一步:打开Vs2003; 第二步:到进Vss数据;(文件 | 源代码管理 | 从源代码管理打开)如下图: 第三步:在对话框中选择用户密码和对应项目数据库;如下图: 第四步:Ok后,在新对话框中设置工作文件夹;如下图: 注意:这里选的是解决方案的存放地,当工作副本建立好以后,正常工作时就是从这个解决方案来打开你的工作副本进行工作的。 第五步:OK下一步则:将要选择工作副本在你本地的URL,一般选择你本地缺省web下面的一个子目录,比如本项目,将工作副本放在: http://localhost/AheadeMipss,如下图 第六步;完成了。 4. Vss注意事项和规范 1. 每次Check Out 时必须得到最新版本(最好多次获得,因为有时候一次得不到最新的版本); 2. Check Out 后的修改页面必须调试通过才能Check In(否则别人Check Out时就是你错误的); 3. 全部Check Out前,必须跟大家打个招呼; 4. 不直接引用dll (因为dll文件有的是编译时临时生成的,不应该Check In) 5. 一般情况下,VSS数据库不要超过3~5GB(虽然可以无限大)。存储不相关的项目在不同的数据库,也可通过Archive和Restore工具来移动项目到另一个数据库。 6. 配置管理员按照以下步骤每周运行一次Analyze工具(至少1个月1次): 7. 锁住数据库(通过管理员界面的Tools—>Lock SourceSafe database); 8. 运行Analyze VSS DB; 9. 运行Analyze & Fix VSS DB。 10. 在运行VSS和Analyze之前,保证同一磁盘下存在1倍数据库的剩余空间已能够建立一个完整的数据库拷贝,特别是Analyze。 11. 备份文件和Analyze不能同时运行。 12. 避免跨过最高层目录进行共享和分支,这在归档一个项目,并恢复到另一个数据库时很复杂。 13. 所有用户每周同步一次时钟(通过命令:net time //192.168.1.31 /set 设置),以保证check out/in、label有序。 14. 不要通过拷贝一个已经存在的数据库来建立新的数据库,因为um.dat中的GUID不能相同。 15. 不要恢复一个完全备份的数据库到现存的数据库,这将使文件之间的连接和版本混乱。 16. 每次断电前关闭VSS,防止断电造成数据库的损失。可采用UPS保护。 17. 不要修改和删除VSS Server所共享目录的任何文件。 18. 备份文件采取完全备份方式,而不是增量备份。增量备份很难恢复。 19. 每隔一个月运行Admin->tools->cleanup temp directory 来清除临时目录的内容。运行之前,要保证没有人使用VSS和VSS administrator。 Vss 注意事项和规范 1. 每次Check Out 时必须得到最新版本(最好多次获得,因为有时候一次得不到最新的版本); 2. Check Out 后的修改页面必须调试通过才能Check In(否则别人Check Out时就是你错误的); 3. 全部Check Out前,必须跟大家打个招呼; 4. 不直接引用dll (因为dll文件有的是编译时临时生成的,不应该Check In) 5. 一般情况下,VSS数据库不要超过3~5GB(虽然可以无限大)。存储不相关的项目在不同的数据库,也可通过Archive和Restore工具来移动项目到另一个数据库。 6. 配置管理员按照以下步骤每周运行一次Analyze工具(至少1个月1次): 7. 锁住数据库(通过管理员界面的Tools—>Lock SourceSafe database); 8. 运行Analyze VSS DB; 9. 运行Analyze & Fix VSS DB。 10. 在运行VSS和Analyze之前,保证同一磁盘下存在1倍数据库的剩余空间已能够建立一个完整的数据库拷贝,特别是Analyze。 11. 备份文件和Analyze不能同时运行。 12. 避免跨过最高层目录进行共享和分支,这在归档一个项目,并恢复到另一个数据库时很复杂。 13. 所有用户每周同步一次时钟(通过命令:net time //192.168.1.31 /set 设置),以保证check out/in、label有序。 14. 不要通过拷贝一个已经存在的数据库来建立新的数据库,因为um.dat中的GUID不能相同。 15. 不要恢复一个完全备份的数据库到现存的数据库,这将使文件之间的连接和版本混乱。 16. 每次断电前关闭VSS,防止断电造成数据库的损失。可采用UPS保护。 17. 不要修改和删除VSS Server所共享目录的任何文件。 18. 备份文件采取完全备份方式,而不是增量备份。增量备份很难恢复。 19. 每隔一个月运行Admin->tools->cleanup temp directory 来清除临时目录的内容。运行之前,要保证没有人使用VSS和VSS administrator。
|