[.net 面向对象程序设计进阶] (22) 团队开发利器(一)简单易用的代码管理工具VSS

本篇要点:在进阶篇快要结束的时候说说源代码管理器,我们的开发,不是一个人可以完成的事,团队协作很重要,而且要对产品生命周期和开发过程进行规范管理才行。那么源代码管理器是必不可少的。本篇主要介绍一款非常简单易用,且有一定普及率的源代码管理工具VSS.

1.VSS简介

名称:Visual Source Safe( 简称 VSS )

厂商:微软(起初为一家小公司因获奖被微软收购)

功能:具有基本的share (共享 ) 、 branch( 分支)和合并( merge) 功能

优点:简单易用,普及率高(目前仍有大量开发团队使用),免费没有用户数量限制。

缺点:安性全一般。不可读,可读,可读 / 写 , 可完全控制四级权限,但是文件夹要完全共享给用户才能进入,用户可以删除文件这是最大缺陷,此外,VSS的Internet访问功能配置比较麻烦,使用异地开发大多不选择VSS。

升级:微软收购后升级到VSS 2005以后,再没有进行进升级。目前微软已经有新的源代码管理工具出来,VSS基本不再更新。

推荐:★★★ (小型项目或对代码安全要求不太高的团队可以使用)

2.VSS安装及使用

下面以VSS2005 中文版本安装为例,安装包比较好找,目前没有正式的中文版本,但有汉化包,下面我提供一个下载地址:

VSS2005安装包+汉化包 :http://www.cr173.com/soft/13212.html

2.1安装

直接点“下一步”,一路完成,中间没有什么设置,在选择的时候有两个版本,一个是“Full”完整模式,一般服务器端装这个模式,客户端只需要装“Custom”客户模式就可以了。

安装完成,如果是服务器模式,开始菜单有两个如下图:

2.2 汉化

安装完成,如果喜欢用中文版的同学,可以选择汉化,运行汉化补丁VSS.2005.汉化补丁.exe 选择此前安装的VSS目前,完成安装后,打开VSS程序工具下的选项设置,tools - option -international setteings;打开如下图的窗口,选择中文,重启VSS,即可完成中文版,汉化后,仍有部分是英文,但不会影响我们使用。

3.VSS服务器端配置

安装完成之后,我们先看一下服务器端的使用。

3.1 新建配置库

用管理员用户运行 Visual SourceSafe Administrator,文件-新数据库

打开新建数据库配置窗口,点“下一步”选择服务器存放路径。

下一步,给我们新建的数据库取个名字

继续下一步

在这里比较重要,有两种控制方式可供选择,第一种,仅支持一个人对文件修改,修改过程中文件锁定。第二种允许多人修改。

点击“下一步”完成数据库创建。

完成后,会有一个提示,是否要使用windows自带的权限功能,我们可以修改所在的目录权限控制。

可以设置如下:

A.设置文件夹为共享;B。去除everyone用户组访问权限;C.设置数据的用户;

注意:一定要将目录设置为网络共享目录,否则客户端无法找到并添加这个数据库,vss文件共享的端口是445,注意杀毒软件等不要拦截此端口。

3.2 修改Admin密码

用管理员用户运行 Visual SourceSafe Administrator,选中“管理员用户”菜单 “用户-更改密码”

管理员Admin初始密码为空,第一次修改,无需填空旧密码。其他用户密码更新同上。

3.3 新建用户

用管理员用户运行 “Visual SourceSafe Administrator”中“用户 -增加用户”

输入用户和密码,即可创建,这里有一个 “只读”,如果选中,则此用户只有只读权限。创建后,仍然可以通过用户修改来对权限和密码进行更改。

3.4 文件夹权限控制

可以对新增加的用户,来指定可以读写那些文件夹

也可以对项目中的文件夹,来指定允许读写的用户

3.5登录设置

配置库新建好后,默认客户端登录是只认客户端操作系统登录的用户名,不用输密码,可以修改,在VSS管理工具中,进入 工具》选项,取消“使用网络用户名登录”选择,就可以了,这样,每次进入,都要求强制输入用户名和口令,算是一个安全措施吧。

3.6数据库检查

VSS使用过程中由于网络等原因,可能造成部分信息出错,这时需要运行数据库检查工作。

注意:检查时,所有VSS用户要断开连接

检查工具位于VSS安装目录下,叫analyze.exe,只能通过命令行运行,命令格式为:analyze.exe -f 【vss数据库所在目录】

如: “D\Program Files\Microsoft Visual SourceSafe\analyze.exe” -f E:\Dtt_vss\Data

检查完后,将提示哪些错误被修复。

3.7数据库备份

备份数据库,也需要所有用户断开连接,操作如下:

备份选择:将项目存档

恢复选择:恢复项目

3.8锁定数据库

锁定后,所有用户强制断开,并且不能连接,直至解除锁定。

3.9设置vss日志

控制台-工具-选项-常规 -“在此日志文件中记录所有操作 ”如图:

3.10删除历史版本

VSS数据库理论上要小于4G,太大会异致速度下降。

减小的方法是:可以删除一些久远的版本,当然,删除前可以先备份。

具本参考聚如下:

A.制作一个备份,这个很重要,万一要查历史版本

B.使用VSS Administrator,Archive- Archive Projects

C.Archive Wizard 第一步,选中$这个Project

D.Archive Wizard 第二步,选中”Archive this version and older”在Version输入“YYYY-MM-DD”日期,即从这天以前的版本都不要了。

E.完成。VSS自己去删除配置项的历史版本了。

4.VSS用户端使用

4.1添加连接配置库

A.在客户端机器上打开 “Visual SourceSafe 浏览器”-“文件”

B.“打开SourceSafe数据库”,单击添加,弹出“添加SourceSafe数据库向导”,“下一步”选择现在数据库,单击“下一步”点“浏览”。输入服务器上数据库所在目标如:\\192.168.1.1\data( 如提示需要用户名和密码,输入后),选中“srcsafe.ini”打开。

C.“下一步”数据库连接名为默认,也可改,下一步,完成。这样我们就完成了在本机连接数据库了。

4.2客户端登录

A.打开“Microsoft Visual SourceSafe”

输入用户名密码即可。

4.3设置工作目录

这时我们要在本机电脑上设置一个工作目录,以后我们的源代码或获取的新版本文件,都会存放在此。

打开“设置工作目录”后,我们可以选择一个本地目录作为工作目录。

4.4新建文件夹和文件

我们可以在添加一些文件或文件夹到这VSS

4.5获取最新版本

注意:当您Get文件时,当前文件的一个只读COPY将放到您的工作文件夹中,这时,您对文件的任何操作都不能存入VSS项目。

为了get最新版本文件或项目:

A.选中您想操作的文件,您可以选择一个文件,多个文件或整个项目

B.在SourceSafe菜单中,单击“获取最新版本”

C.如果事先没有设置工作目录,在此会有一个提示,设置一下即可。

D.如果您在VSS设置中指定了显示Get Latest Version对面框,则VSS会显示它,单击OK ,VSS就完成了文件的COPY.

4.6操作文件

至此我们可以对文件进行,查看,增加,修改或删除操作 ,也可以对文件进行共享或查看历史改动等操作 ,就不一一说明了。

需要注意的是,改动文件或文件夹,文件会被签出,改动后右键签入,即可完成一次存档。

5.在Visual Studio下使用VSS开发

5.1 在VS中选择源代码管理插件

5.2指定Visual Studio的源代码管理环境

先打开VS,在工具,选项中,找到源代码管理器的环境设置,根据需要设置。

5.3 使用Vs2008(或10 13 都可以)+VSS进行开发

上面设置完成后,关闭VS和VSS,然后找到我们工作目录中的项目文件,双击用VS2008打开,会显示如下窗口:

登录以后,如下:

此至,我们可以进入团队开发模式了,注意文件签入前,一定要编译通过,否则给队友来带麻烦,完成后的文件,一定要及时签入。

一般情况下,下班前,一定要所有文件都是签入状态, 以免第二天上班,文件独占,别人使用不了。

6.本篇要点:
本篇只要介绍了一个非常简单实用的源代码管理工具VSS 2005,如果你的项目比较小型化,且对安全要求不是非常高,且不会在异地完成开发的情况下(VSS的internet访问功能不是很方便),可以选用轻量级的VSS来管理你的源代码。下一篇,我们介绍一款功能强大的支持异地开发的工具SVN.

==============================================================================================

返回目录

<如果对你有帮助,记得点一下推荐哦,如有有不明白或错误之处,请多交流>

<对本系列文章阅读有困难的朋友,请先看《.net 面向对象编程基础》>

<转载声明:技术需要共享精神,欢迎转载本博客中的文章,但请注明版权及URL>

.NET 技术交流群:467189533

==============================================================================================

[.net 面向对象程序设计进阶] (22) 团队开发利器(一)简单易用的代码管理工具VSS的更多相关文章

  1. [.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git

    [.net 面向对象程序设计进阶] (26) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git 本篇导读: 接上两篇,继续Git之旅 分布式版本控制系统 ...

  2. [.net 面向对象程序设计进阶] (26) 团队开发利器(五)分布式版本控制系统Git——图形化Git客户端工具TortoiseGit

    [.net 面向对象程序设计进阶] (26) 团队开发利器(五)分布式版本控制系统Git——图形化Git客户端工具TortoiseGit 读前必备: 接上篇: 分布式版本控制系统Git——使用GitS ...

  3. [.net 面向对象程序设计进阶] (25) 团队开发利器(四)分布式版本控制系统Git——使用GitStack+TortoiseGit 图形界面搭建Git环境

    [.net 面向对象程序设计进阶] (25) 团队开发利器(四)分布式版本控制系统Git——使用GitStack+TortoiseGit 图形界面搭建Git环境 本篇导读: 前面介绍了两款代码管理工具 ...

  4. [.net 面向对象程序设计进阶] (24) 团队开发利器(三)使用SVN多分支并行开发(下)

    [.net 面向对象程序设计进阶] (24) 团队开发利器(三)使用SVN多分支并行开发(下) 本篇导读: 接上篇继续介绍SVN的高级功能,即使用分支并行开发.随着需求的不断变更,新功能的增加.特别是 ...

  5. [.net 面向对象程序设计进阶] (23) 团队开发利器(二)优秀的版本控制工具SVN(上)

    [.net 面向对象程序设计进阶] (23) 团队开发利器(二)优秀的版本控制工具SVN(上) 本篇导读: 上篇介绍了常用的代码管理工具VSS,看了一下评论,很多同学深恶痛绝,有的甚至因为公司使用VS ...

  6. 设计与开发一款简单易用的Web报表工具(支持常用关系数据及hadoop、hbase等)

    EasyReport是一个简单易用的Web报表工具(支持Hadoop,HBase及各种关系型数据库),它的主要功能是把SQL语句查询出的行列结构转换成HTML表格(Table),并支持表格的跨行(Ro ...

  7. [.net 面向对象程序设计进阶] (1) 开篇

    [.net 面向对象程序设计进阶] (1) 开篇 上一系列文章<.net 面向对象编程基础>写完后,很多小伙伴们希望我有时间再写一点进阶的文章,于是有了这个系列文章.这一系列的文章中, 对 ...

  8. [.net 面向对象程序设计进阶] (13) 序列化(Serialization)(五) Json 序列化利器 Newtonsoft.Json 及 通用Json类

    [.net 面向对象程序设计进阶] (13) 序列化(Serialization)(五) Json 序列化利器 Newtonsoft.Json 及 通用Json类 本节导读: 关于JSON序列化,不能 ...

  9. [.net 面向对象程序设计进阶] (19) 异步(Asynchronous) 使用异步创建快速响应和可伸缩性的应用程序

    [.net 面向对象程序设计进阶] (19) 异步(Asynchronous) 使用异步创建快速响应和可伸缩性的应用程序 本节导读: 本节主要说明使用异步进行程序设计的优缺点及如何通过异步编程. 使用 ...

随机推荐

  1. 浅谈WEB前后端分离

    重审业务逻辑 用过MVC的童鞋都知道业务逻辑(Bussiness Logic),但是大多对这概念又是模棱两可,业务逻辑从来都是这样难以理解,谈论前后端分离之前这个概念非常有必要探讨一下! 在简单的CR ...

  2. 将一个实体数据保存到不同的数据表中<EntityFramework6.0>

    2014-11-22声明方式 public class Product { [Key] [DatabaseGenerated(DatabaseGeneratedOption.None)] public ...

  3. 【Android】Eclipse自动编译NDK/JNI的三种方法

    [Android]Eclipse自动编译NDK/JNI的三种方法 SkySeraph Sep. 18th  2014 Email:skyseraph00@163.com 更多精彩请直接访问SkySer ...

  4. winform快速开发平台 -> 基础组件之分页控件

    一个项目控件主要由及部分的常用组件,当然本次介绍的是通用分页控件. 处理思想:我们在处理分页过程中主要是针对数据库操作. 一般情况主要是传递一些开始位置,当前页数,和数据总页数以及相关关联的业务逻辑. ...

  5. ROS学习(三)—— ROS文件系统

    一.预备工作 使用ros0tutorials程序包,先下载: sudo apt-get install ros-<distro>-ros-tutorials 其中<distro> ...

  6. 控制台游戏引擎CGE——贪吃蛇

    今天我也来发一个控制台游戏.先看图: 缘起 LZ是一个有严重拖延症的人,表现的形式就是隔一段时间就要刷一刷博客园. 这不前几天,看到了魏大师<使用Lua脚本语言开发出高扩展性的系统...> ...

  7. c语言结构体

    [C语言]21-结构体 本文目录 一.什么是结构体 二.结构体的定义 三.结构体变量的定义 四.结构体的注意点 五.结构体的初始化 六.结构体的使用 七.结构体数组 八.结构体作为函数参数 九.指向结 ...

  8. 好文分享_java堆栈的区别

    Java Heap Memory Heap memory is used by java runtime to allocate memory to Objects and JRE classes. ...

  9. SQLServer2005如何批量修改架构名 - wuxiaokaixinguo的专栏

    原文地址:http://blog.csdn.net/wuxiaokaixinguo/article/details/8523093 ) BEGIN SET @name='原构架名.' + @name ...

  10. Android Studio Lambda Config

    lambda虽然不能让我们应用性能更加优良,但是在代码提高整洁,方便阅读上,还是不错的选择.目前android studio对lambda的原生支持并不是很友好,可以使用第三方配置实现完美支持.配置如 ...